home *** CD-ROM | disk | FTP | other *** search
Wrap
/* -- ANSI C code generated by : -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.82) -- -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE -- -- Dominique COLNET and Suzanne COLLIN - colnet@loria.fr -- -- http://www.loria.fr/SmallEiffel -- */ #include "compile_to_jvm.h" /*No:EIFFEL_PARSER.cc*/ /*No:EIFFEL_PARSER.ok*/ void r818a_r5(T818* C,T0* a1){ T0* _sp=NULL; T0* _infix_minus=NULL; T0* _infix_plus=NULL; /*IF*/if (r818skip1(C,'\53')) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_e5(C)) { {T253*n=malloc(sizeof(*n)); *n=M253; r253make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/); _infix_plus=(T0*)n; } r818a_r5(C,_infix_plus); } else { r818err_exp(_sp,((T0*)ms43_473)); } /*FI*/} else if (r818skip1(C,'\55')) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_e5(C)) { {T574*n=malloc(sizeof(*n)); *n=M574; r574make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/); _infix_minus=(T0*)n; } r818a_r5(C,_infix_minus); } else { r818err_exp(_sp,((T0*)ms37_473)); } /*FI*/} else { C->_last_expression=a1; } /*FI*/} int r818a_e5(T818* C){ int R=0; R=r818a_e6(C); r818a_r6(C,(((T818*)C))->_last_expression/*97*/); return R; } /*No:EIFFEL_PARSER.arguments*/ /*No:EIFFEL_PARSER.fz_creation*/ /*No:EIFFEL_PARSER.em14*/ int r818a_binary(T818* C,T0* a1){ int R=0; R=1; /*IF*/if (r818skip2(C,'\74','\75')) { {T454*n=malloc(sizeof(*n)); *n=M454; r454make(n,((T0*)ms35_473),a1); C->_last_binary=(T0*)n; } } else if (r818skip2(C,'\76','\75')) { {T454*n=malloc(sizeof(*n)); *n=M454; r454make(n,((T0*)ms32_473),a1); C->_last_binary=(T0*)n; } } else if (r818skip2(C,'\57','\57')) { {T454*n=malloc(sizeof(*n)); *n=M454; r454make(n,((T0*)ms45_818),a1); C->_last_binary=(T0*)n; } } else if (r818skip2(C,'\134','\134')) { {T454*n=malloc(sizeof(*n)); *n=M454; r454make(n,((T0*)ms46_818),a1); C->_last_binary=(T0*)n; } } else if (r818skip1(C,'\53')) { {T454*n=malloc(sizeof(*n)); *n=M454; r454make(n,((T0*)ms43_473),a1); C->_last_binary=(T0*)n; } } else if (r818skip1(C,'\55')) { {T454*n=malloc(sizeof(*n)); *n=M454; r454make(n,((T0*)ms37_473),a1); C->_last_binary=(T0*)n; } } else if (r818skip1(C,'\52')) { {T454*n=malloc(sizeof(*n)); *n=M454; r454make(n,((T0*)ms38_473),a1); C->_last_binary=(T0*)n; } } else if (r818skip1(C,'\57')) { {T454*n=malloc(sizeof(*n)); *n=M454; r454make(n,((T0*)ms47_473),a1); C->_last_binary=(T0*)n; } } else if (r818skip1(C,'\76')) { {T454*n=malloc(sizeof(*n)); *n=M454; r454make(n,((T0*)ms33_473),a1); C->_last_binary=(T0*)n; } } else if (r818skip1(C,'\74')) { {T454*n=malloc(sizeof(*n)); *n=M454; r454make(n,((T0*)ms36_473),a1); C->_last_binary=(T0*)n; } } else if (r818skip1(C,'\136')) { {T454*n=malloc(sizeof(*n)); *n=M454; r454make(n,((T0*)ms47_818),a1); C->_last_binary=(T0*)n; } } else if (r818a_keyword(C,((T0*)ms50_473))) { {T454*n=malloc(sizeof(*n)); *n=M454; r454make(n,((T0*)ms50_473),a1); C->_last_binary=(T0*)n; } } else if (r818a_keyword(C,((T0*)ms34_473))) { {T454*n=malloc(sizeof(*n)); *n=M454; r454make(n,((T0*)ms34_473),a1); C->_last_binary=(T0*)n; } } else if (r818a_keyword(C,((T0*)ms27_473))) { /*IF*/if (r818a_keyword(C,((T0*)ms46_470))) { {T454*n=malloc(sizeof(*n)); *n=M454; r454make(n,((T0*)ms28_473),a1); C->_last_binary=(T0*)n; } } else { {T454*n=malloc(sizeof(*n)); *n=M454; r454make(n,((T0*)ms27_473),a1); C->_last_binary=(T0*)n; } } /*FI*/} else if (r818a_keyword(C,((T0*)ms41_473))) { /*IF*/if (r818a_keyword(C,((T0*)ms10_470))) { {T454*n=malloc(sizeof(*n)); *n=M454; r454make(n,((T0*)ms42_473),a1); C->_last_binary=(T0*)n; } } else { {T454*n=malloc(sizeof(*n)); *n=M454; r454make(n,((T0*)ms41_473),a1); C->_last_binary=(T0*)n; } } /*FI*/} else { C->_last_binary=NULL; R=0; } /*FI*/return R; } void r818a_r6(T818* C,T0* a1){ T0* _sp=NULL; T0* _infix_div=NULL; T0* _infix_int_rem=NULL; T0* _infix_int_div=NULL; T0* _infix_times=NULL; /*IF*/if (r818skip1(C,'\52')) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_e6(C)) { {T414*n=malloc(sizeof(*n)); *n=M414; r414make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/); _infix_times=(T0*)n; } r818a_r6(C,_infix_times); } else { r818err_exp(_sp,((T0*)ms38_473)); } /*FI*/} else if (r818skip2(C,'\57','\57')) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_e6(C)) { {T460*n=malloc(sizeof(*n)); *n=M460; r460make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/); _infix_int_div=(T0*)n; } r818a_r6(C,_infix_int_div); } else { r818err_exp(_sp,((T0*)ms120_818)); } /*FI*/} else if (r818skip2(C,'\134','\134')) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_e6(C)) { {T453*n=malloc(sizeof(*n)); *n=M453; r453make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/); _infix_int_rem=(T0*)n; } r818a_r6(C,_infix_int_rem); } else { r818err_exp(_sp,((T0*)ms121_818)); } /*FI*/} else if (r818skip1unless2(C,'\57','\75')) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_e6(C)) { {T520*n=malloc(sizeof(*n)); *n=M520; r520make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/); _infix_div=(T0*)n; } r818a_r6(C,_infix_div); } else { r818err_exp(_sp,((T0*)ms47_473)); } /*FI*/} else { C->_last_expression=a1; } /*FI*/} int r818a_e6(T818* C){ int R=0; R=r818a_e7(C); r818a_r7(C,(((T818*)C))->_last_expression/*97*/); return R; } /*No:EIFFEL_PARSER.em15*/ /*No:EIFFEL_PARSER.last_parent*/ void r818a_r7(T818* C,T0* a1){ T0* _sp=NULL; T0* _infix_power=NULL; /*IF*/if (r818skip1(C,'\136')) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_e7(C)) { {T557*n=malloc(sizeof(*n)); *n=M557; r557make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/); _infix_power=(T0*)n; } r818a_r7(C,_infix_power); } else { r818err_exp(_sp,((T0*)ms122_818)); } /*FI*/} else { C->_last_expression=a1; } /*FI*/} int r818a_e7(T818* C){ int R=0; R=r818a_e8(C); r818a_r8(C,(((T818*)C))->_last_expression/*97*/); return R; } int r818a_boolean_constant(T818* C){ int R=0; /*IF*/if (r818a_keyword(C,((T0*)ms47_470))) { {T849*n=malloc(sizeof(*n)); *n=M849; /*[IRF3.3make*/((((T849*)(n)))->_start_position)=(r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/)); /*]*/ C->_last_boolean_constant=(T0*)n; } R=1; } else if (r818a_keyword(C,((T0*)ms17_470))) { {T367*n=malloc(sizeof(*n)); *n=M367; /*[IRF3.3make*/((((T367*)(n)))->_start_position)=(r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/)); /*]*/ C->_last_boolean_constant=(T0*)n; } R=1; } /*FI*/return R; } /*No:EIFFEL_PARSER.last_type*/ int r818a_base_type(T818* C){ int R=0; T0* _sp=NULL; R=1; /*IF*/if (r818a_keyword(C,((T0*)ms1_473))) { {T669*n=malloc(sizeof(*n)); *n=M669; r669make(n,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/)); C->_last_base_type=(T0*)n; } } else if (r818a_keyword(C,((T0*)ms2_473))) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (((r818skip1(C,'\133'))&&(r818a_type(C)))&&(r818skip1(C,'\135'))) { {T709*n=malloc(sizeof(*n)); *n=M709; r709make(n,_sp,(((T818*)C))->_last_type/*157*/); C->_last_base_type=(T0*)n; } } else { r818fcp(C,((T0*)ms40_818)); } /*FI*/} else if (r818a_keyword(C,((T0*)ms18_473))) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (((r818skip1(C,'\133'))&&(r818a_type(C)))&&(r818skip1(C,'\135'))) { {T933*n=malloc(sizeof(*n)); *n=M933; r933make(n,_sp,(((T818*)C))->_last_type/*157*/); C->_last_base_type=(T0*)n; } } else { r818fcp(C,((T0*)ms41_818)); } /*FI*/} else if (r818a_keyword(C,((T0*)ms42_818))) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (((r818skip1(C,'\133'))&&(r818a_type(C)))&&(r818skip1(C,'\135'))) { {T933*n=malloc(sizeof(*n)); *n=M933; r933make(n,_sp,(((T818*)C))->_last_type/*157*/); C->_last_base_type=(T0*)n; } } else { r818fcp(C,((T0*)ms43_818)); } /*FI*/r818warning(_sp,((T0*)ms44_818)); } else if (r818a_keyword(C,((T0*)ms6_473))) { {T707*n=malloc(sizeof(*n)); *n=M707; r707make(n,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/)); C->_last_base_type=(T0*)n; } } else if (r818a_keyword(C,((T0*)ms8_473))) { {T252*n=malloc(sizeof(*n)); *n=M252; r252make(n,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/)); C->_last_base_type=(T0*)n; } } else if (r818a_keyword(C,((T0*)ms11_473))) { {T388*n=malloc(sizeof(*n)); *n=M388; r388make(n,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/)); C->_last_base_type=(T0*)n; } } else if (r818a_keyword(C,((T0*)ms15_473))) { {T788*n=malloc(sizeof(*n)); *n=M788; r788make(n,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/)); C->_last_base_type=(T0*)n; } } else if (r818a_keyword(C,((T0*)ms19_473))) { {T284*n=malloc(sizeof(*n)); *n=M284; r284make(n,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/)); C->_last_base_type=(T0*)n; } } else if (r818a_keyword(C,((T0*)ms21_473))) { {T900*n=malloc(sizeof(*n)); *n=M900; r900make(n,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/)); C->_last_base_type=(T0*)n; } } else if (r818a_keyword(C,((T0*)ms23_473))) { {T209*n=malloc(sizeof(*n)); *n=M209; r209make(n,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/)); C->_last_base_type=(T0*)n; } } else if (r818a_keyword(C,((T0*)ms25_473))) { {T491*n=malloc(sizeof(*n)); *n=M491; r491make(n,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/)); C->_last_base_type=(T0*)n; } } else { R=0; } /*FI*/return R; } /*No:EIFFEL_PARSER.em16*/ /*No:EIFFEL_PARSER.nb_warnings*/ /*No:EIFFEL_PARSER.last_expression*/ /*No:EIFFEL_PARSER.last_character_constant*/ void r818a_r8(T818* C,T0* a1){ T0* _infix_freeop=NULL; T0* _infix_name=NULL; /*IF*/if (r818a_free_operator(C)) { _infix_name=r511to_infix_name_use(((T511*)(oBC818tmp_name))); /*IF*/if (r818a_e8(C)) { {T534*n=malloc(sizeof(*n)); *n=M534; r534make(n,a1,_infix_name,(((T818*)C))->_last_expression/*97*/); _infix_freeop=(T0*)n; } r818a_r8(C,_infix_freeop); } else { r818err_exp((((T454*)((T454*)_infix_name)))->_start_position/*8*/,(((T454*)((T454*)_infix_name)))->_to_string/*4*/); } /*FI*/} else { C->_last_expression=a1; } /*FI*/} int r818a_e8(T818* C){ int R=0; T0* _sp=NULL; T0* _prefix_freeop=NULL; T0* _op=NULL; T0* _prefix_moins=NULL; T0* _prefix_plus=NULL; T0* _prefix_not=NULL; /*IF*/if (r818a_keyword(C,((T0*)ms40_473))) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_e8(C)) { {T180*n=malloc(sizeof(*n)); *n=M180; r180make(n,_sp,(((T818*)C))->_last_expression/*97*/); _prefix_not=(T0*)n; } C->_last_expression=_prefix_not; R=1; } else { r818err_exp(_sp,((T0*)ms40_473)); } /*FI*/} else if (r818skip1(C,'\53')) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_e8(C)) { {T767*n=malloc(sizeof(*n)); *n=M767; r767make(n,_sp,(((T818*)C))->_last_expression/*97*/); _prefix_plus=(T0*)n; } C->_last_expression=_prefix_plus; R=1; } else { r818err_exp(_sp,((T0*)ms73_818)); } /*FI*/} else if (r818skip1(C,'\55')) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_e8(C)) { {T72*n=malloc(sizeof(*n)); *n=M72; r72make(n,_sp,(((T818*)C))->_last_expression/*97*/); _prefix_moins=(T0*)n; } C->_last_expression=_prefix_moins; R=1; } else { r818err_exp(_sp,((T0*)ms74_818)); } /*FI*/} else if (r818a_free_operator(C)) { _op=r511to_prefix_name(((T511*)(oBC818tmp_name))); /*IF*/if (r818a_e8(C)) { {T990*n=malloc(sizeof(*n)); *n=M990; /*[IRF3.6make*/{T990* C1=n; T0* b1=(((T818*)C))->_last_expression/*97*/; T0* b2=_op; r990make_call0(C1,b1,b2); }/*]*/ _prefix_freeop=(T0*)n; } C->_last_expression=_prefix_freeop; R=1; } else { /*[IRF3.6append*/{T0* b1=((T0*)ms75_818); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r818err_exp((((T406*)((T406*)_op)))->_start_position/*8*/,(((T406*)((T406*)_op)))->_to_string/*4*/); } /*FI*/} else { R=r818a_e9(C); } /*FI*/return R; } int r818a_feature_declaration(T818* C){ int R=0; r505initialize(((T505*)(oBC818tmp_feature))); /*IF*/if (r818a_keyword(C,((T0*)ms20_470))) { /*IF*/if (r818a_feature_name(C)) { R=1; X776set_is_frozen((((T818*)C))->_last_feature_name/*109*/,1); /*[IRF3.6add_synonym*/{T0* b1=(((T818*)C))->_last_feature_name/*109*/; r855add_last(((T855*)(oBC505names)),b1); }/*]*/ } else { r818fcp(C,((T0*)ms140_818)); } /*FI*/} else if (r818a_feature_name(C)) { R=1; /*[IRF3.6add_synonym*/{T0* b1=(((T818*)C))->_last_feature_name/*109*/; r855add_last(((T855*)(oBC505names)),b1); }/*]*/ } /*FI*/while (!(!(r818skip1(C,'\54')))) { /*IF*/if (r818a_keyword(C,((T0*)ms20_470))) { /*IF*/if (r818a_feature_name(C)) { X776set_is_frozen((((T818*)C))->_last_feature_name/*109*/,1); /*[IRF3.6add_synonym*/{T0* b1=(((T818*)C))->_last_feature_name/*109*/; r855add_last(((T855*)(oBC505names)),b1); }/*]*/ } else { r818fcp(C,((T0*)ms92_818)); } /*FI*/} else if (r818a_feature_name(C)) { /*[IRF3.6add_synonym*/{T0* b1=(((T818*)C))->_last_feature_name/*109*/; r855add_last(((T855*)(oBC505names)),b1); }/*]*/ } else { /*[IRF3.6ecp*/{T818* C1=C; T0* b1=((T0*)ms93_818); r818error(r818current_position(C1),b1); }/*]*/ } /*FI*/} /*IF*/if (R) { r818a_formal_arg_list(C); C->_function_type=NULL; /*IF*/if (r818skip1(C,'\72')) { /*IF*/if (r818a_type(C)) { C->_function_type=(((T818*)C))->_last_type/*157*/; /*[IRF3.3set_type*/((((T505*)(((T505*)(oBC818tmp_feature)))))->_type)=((((T818*)C))->_last_type/*157*/); /*]*/ } else { r818fcp(C,((T0*)ms156_818)); } /*FI*/} /*FI*//*IF*/if (r818a_keyword(C,((T0*)ms27_470))) { /*IF*/if (r818a_keyword(C,((T0*)ms49_470))) { C->_last_feature_declaration=r505to_cst_att_unique(((T505*)(oBC818tmp_feature))); } else if (r818a_boolean_constant(C)) { C->_last_feature_declaration=r505to_cst_att_boolean(((T505*)(oBC818tmp_feature)),(((T818*)C))->_last_boolean_constant/*81*/); } else if (r818a_character_constant(C)) { C->_last_feature_declaration=r505to_cst_att_character(((T505*)(oBC818tmp_feature)),(((T818*)C))->_last_character_constant/*85*/); } else if (r818a_manifest_string(C)) { C->_last_feature_declaration=r505to_cst_att_string(((T505*)(oBC818tmp_feature)),(((T818*)C))->_last_manifest_string/*145*/); } else if (r818a_bit_constant(C)) { C->_last_feature_declaration=r505to_cst_att_bit(((T505*)(oBC818tmp_feature)),(((T818*)C))->_last_bit_constant/*77*/); } else if (r818a_real_constant(C)) { C->_last_feature_declaration=r505to_cst_att_real(((T505*)(oBC818tmp_feature)),(((T818*)C))->_last_real_constant/*153*/); } else if (r818a_integer_constant(C)) { C->_last_feature_declaration=r505to_cst_att_integer(((T505*)(oBC818tmp_feature)),(((T818*)C))->_last_integer_constant/*129*/); } else { C->_last_feature_declaration=r818a_routine(C); } /*FI*/} else { C->_last_feature_declaration=r505to_writable_attribute(((T505*)(oBC818tmp_feature))); } /*FI*/C->_function_type=NULL; C->_arguments=NULL; } /*FI*/return R; } /*No:EIFFEL_PARSER.us_integer*/ /*No:EIFFEL_PARSER.em17*/ int r818a_integer_constant(T818* C){ int R=0; int _c=0; int _l=0; /*IF*/if (r818skip1(C,'\53')) { _l=(((T818*)C))->_start_line/*169*/; _c=(((T818*)C))->_start_column/*165*/; /*IF*/if (r818a_integer(C)) { r627set_line_column(((T627*)((((T342*)((T342*)((((T818*)C))->_last_integer_constant/*129*/))))->_start_position/*12*/)),_l,_c); R=1; } else { r818fcp(C,((T0*)ms69_470)); } /*FI*/} else if (r818skip1(C,'\55')) { _l=(((T818*)C))->_start_line/*169*/; _c=(((T818*)C))->_start_column/*165*/; /*IF*/if (r818a_integer(C)) { r627set_line_column(((T627*)((((T342*)((T342*)((((T818*)C))->_last_integer_constant/*129*/))))->_start_position/*12*/)),_l,_c); r342unary_minus(((T342*)((((T818*)C))->_last_integer_constant/*129*/))); R=1; } else { r818fcp(C,((T0*)ms69_470)); } /*FI*/} else { R=r818a_integer(C); } /*FI*/return R; } void r818a_creation_clause(T818* C,T0* a1){ T0* _creation_clause=NULL; T0* _list=NULL; T0* _comments=NULL; T0* _clients=NULL; _clients=r818a_clients(C); _comments=r818get_comments(C); /*IF*/if (r818a_feature_list(C)) { _list=(((T818*)C))->_last_feature_list/*105*/; } /*FI*/{T583*n=malloc(sizeof(*n)); *n=M583; r583make(n,a1,_clients,_comments,_list); _creation_clause=(T0*)n; } r605add_creation_clause(((T605*)((((T818*)C))->_last_base_class/*65*/)),_creation_clause); } int r818a_e9(T818* C){ int R=0; T0* _e_old=NULL; /*IF*/if (r818a_keyword(C,((T0*)ms34_470))) { /*IF*/if (!((((T818*)C))->_in_ensure/*37*/)) { r818error(r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/),((T0*)ms76_818)); } /*FI*//*IF*/if (r818a_e10(C)) { {T664*n=malloc(sizeof(*n)); *n=M664; /*[IRF3.3make*/((((T664*)(n)))->_expression)=((((T818*)C))->_last_expression/*97*/); /*]*/ _e_old=(T0*)n; } C->_last_expression=_e_old; R=1; } else { r818fcp(C,((T0*)ms77_818)); } /*FI*/} else { R=r818a_e10(C); } /*FI*/return R; } int r818a_index_value(T818* C){ int R=0; /*IF*/if (r818a_identifier(C)) { C->_last_index_value=r511to_simple_feature_name(((T511*)(oBC818tmp_name))); R=1; } else if (r818a_manifest_constant(C)) { C->_last_index_value=(((T818*)C))->_last_manifest_constant/*141*/; R=1; } /*FI*/return R; } /*No:EIFFEL_PARSER.em18*/ void r818a_new_export_list(T818* C){ int _state=0; T0* _new_export_item=NULL; T0* _items=NULL; T0* _clients=NULL; T0* _sp=NULL; T0* _export_list=NULL; /*IF*/if (r818a_keyword(C,((T0*)ms15_470))) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } while (!((_state)>(3))) { {int z1=_state; if((0==z1)){ /*IF*/if (((((T818*)C))->_cc/*24*/)==('\173')) { _clients=r818a_clients(C); _state=1; } else if (((((T818*)C))->_cc/*24*/)==('\73')) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms68_470); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=r818skip1(C,'\73'); } else { /*IF*/if ((_items)!=((void*)(NULL))) { {T671*n=malloc(sizeof(*n)); *n=M671; r671make(n,_sp,_items); _export_list=(T0*)n; } /*[IRF3.3set_export*/((((T877*)(((T877*)((((T818*)C))->_last_parent/*149*/)))))->_export_list)=(_export_list); /*]*/ } /*FI*/_state=4; } /*FI*/} else if((1==z1)){ /*IF*/if (r818a_keyword(C,((T0*)ms2_470))) { {T542*n=malloc(sizeof(*n)); *n=M542; r542make_all(n,_clients); _new_export_item=(T0*)n; } /*IF*/if ((_items)==((void*)(NULL))) { _items=se_ma587(1,_new_export_item); } else { r587add_last(((T587*)_items),_new_export_item); } /*FI*/_state=2; } else { /*IF*/if (r818a_feature_list(C)) { {T542*n=malloc(sizeof(*n)); *n=M542; r542make(n,_clients,(((T818*)C))->_last_feature_list/*105*/); _new_export_item=(T0*)n; } /*IF*/if ((_items)==((void*)(NULL))) { _items=se_ma587(1,_new_export_item); } else { r587add_last(((T587*)_items),_new_export_item); } /*FI*/_state=2; } else { _state=3; } /*FI*/} /*FI*/} else if((2==z1)){ /*IF*/if (r818skip1(C,'\73')) { _state=0; } else if (((((T818*)C))->_cc/*24*/)==('\173')) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms144_818); r818warning(r818current_position(C1),b1); }/*]*/ _state=0; } else { /*IF*/if ((_items)!=((void*)(NULL))) { {T671*n=malloc(sizeof(*n)); *n=M671; r671make(n,_sp,_items); _export_list=(T0*)n; } /*[IRF3.3set_export*/((((T877*)(((T877*)((((T818*)C))->_last_parent/*149*/)))))->_export_list)=(_export_list); /*]*/ } /*FI*/_state=4; } /*FI*/} else{r818fcp(C,((T0*)ms149_818)); _state=4; }} } } /*FI*/} /*No:EIFFEL_PARSER.last_manifest_string*/ /*No:EIFFEL_PARSER.last_base_type*/ /*No:EIFFEL_PARSER.em19*/ /*No:EIFFEL_PARSER.last_comments*/ int r818a_retry(T818* C){ int R=0; /*IF*/if (r818a_keyword(C,((T0*)ms42_470))) { /*IF*/if (!((((T818*)C))->_in_rescue/*41*/)) { r818error(r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/),((T0*)ms30_818)); } /*FI*/{T526*n=malloc(sizeof(*n)); *n=M526; /*[IRF3.3make*/((((T526*)(n)))->_start_position)=(r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/)); /*]*/ C->_last_instruction=(T0*)n; } R=1; } /*FI*/return R; } /*No:EIFFEL_PARSER.drop_comments*/ int r818a_e10(T818* C){ int R=0; /*IF*/if (r818a_strip(C)) { R=1; } else if (r818skip1(C,'\50')) { R=1; /*IF*/if (r818a_expression(C)) { /*IF*/if (r818skip1(C,'\51')) { r818a_r10(C,0,(((T818*)C))->_last_expression/*97*/,NULL,NULL); } else { r818fcp(C,((T0*)ms78_818)); } /*FI*/} else { r818fcp(C,((T0*)ms79_818)); } /*FI*/} else if (r818a_manifest_constant(C)) { C->_last_expression=(((T818*)C))->_last_manifest_constant/*141*/; R=1; /*IF*/if (r818skip1unless2(C,'\56','\56')) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms80_818); r818warning(r818current_position(C1),b1); }/*]*/ r818a_after_a_dot(C,0,(((T818*)C))->_last_expression/*97*/); } /*FI*/} else if (r818a_identifier(C)) { R=1; /*IF*/if (((((r818a_result(C))||(r818a_current(C)))||(r818a_void(C)))||(r818a_local_variable(C)))||(r818a_argument(C))) { r818a_r10(C,0,(((T818*)C))->_last_expression/*97*/,NULL,NULL); } else { r818a_function_call(C); } /*FI*/} /*FI*/return R; } /*No:EIFFEL_PARSER.last_prefix*/ void r818a_r10(T818* C,int a1,T0* a2,T0* a3,T0* a4){ /*IF*/if (r818skip1unless2(C,'\56','\56')) { r818a_after_a_dot(C,a1,r818to_call(a2,a3,a4)); } else { /*IF*/if (a1) { C->_last_instruction=r818to_proc_call(C,a2,a3,a4); C->_last_expression=NULL; } else { C->_last_expression=r818to_call(a2,a3,a4); C->_last_instruction=NULL; } /*FI*/} /*FI*/} void r818skip_comments(T818* C){ int _state=0; T0* _sp=NULL; while (!((_state)==(2))) { {int z1=_state; if((0==z1)){ {int z2=(((T818*)C))->_cc/*24*/; if(((9<=z2)&&(z2<=10))||(32==z2)){ r818next_char(C); } else if((45==z2)){ r818next_char(C); _state=1; } else{_state=2; }} } else {{int z2=(((T818*)C))->_cc/*24*/; if((45==z2)){ /*IF*/if ((((T818*)C))->_drop_comments/*4*/) { } else { /*IF*/if (((((T818*)C))->_last_comments/*25*/)==((void*)(NULL))) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_line/*16*/,((((T818*)C))->_column/*12*/)-(1)); _sp=(T0*)n; } } /*FI*/} /*FI*/r818next_char(C); /*[IRF3.3clear*/((((T7*)(((T7*)(oBC818lcs)))))->_count)=(0); /*]*/ while (!(((((T818*)C))->_cc/*24*/)==('\n'))) { r7extend(((T7*)(oBC818lcs)),(((T818*)C))->_cc/*24*/); r818next_char(C); } /*IF*/if ((((T818*)C))->_drop_comments/*4*/) { } else { /*IF*/if (((((T818*)C))->_last_comments/*25*/)==((void*)(NULL))) { {T393*n=malloc(sizeof(*n)); *n=M393; r393make(n,_sp,se_ma52(1,r7twin(((T7*)(oBC818lcs))))); C->_last_comments=(T0*)n; } } else { /*[IRF3.5add_last*/r52add_last(((T52*)((((T393*)((T393*)((((T818*)C))->_last_comments/*25*/))))->_list/*4*/)),r7twin(((T7*)(oBC818lcs)))); /*]*/ } /*FI*/} /*FI*/_state=0; } else{r818prev_char(C); _state=2; }} }} } } /*No:EIFFEL_PARSER.last_class_type*/ /*No:EIFFEL_PARSER.us_array*/ /*No:EIFFEL_PARSER.fz_c_withoutcurrent*/ T0* r818to_proc_call(T818* C,T0* a1,T0* a2,T0* a3){ T0* R=NULL; /*IF*/if ((a2)==((void*)(NULL))) { r818fcp(C,((T0*)ms135_818)); } else if ((a3)==((void*)(NULL))) { {T268*n=malloc(sizeof(*n)); *n=M268; r268make(n,a1,a2); R=(T0*)n; } } else if ((r431count(((T431*)a3)))==(1)) { {T317*n=malloc(sizeof(*n)); *n=M317; r317make(n,a1,a2,a3); R=(T0*)n; } } else { {T568*n=malloc(sizeof(*n)); *n=M568; r568make(n,a1,a2,a3); R=(T0*)n; } } /*FI*/return R; } int r818a_tag_mark(T818* C){ int R=0; /*IF*/if (r818a_identifier(C)) { /*IF*/if (r818skip1unless2(C,'\72','\75')) { R=1; C->_last_tag_mark=r511to_tag_name(((T511*)(oBC818tmp_name))); } else { C->_last_tag_mark=NULL; r818go_back_at(C,(((T511*)((T511*)(oBC818tmp_name))))->_li/*8*/,(((T511*)((T511*)(oBC818tmp_name))))->_co/*4*/); } /*FI*/} else { C->_last_tag_mark=NULL; } /*FI*/return R; } /*No:EIFFEL_PARSER.nb_errors*/ /*No:EIFFEL_PARSER.start_line*/ void r818a_index_list(T818* C){ while (!(!(r818a_index_clause(C)))) { C->_ok=r818skip1(C,'\73'); } } /*No:EIFFEL_PARSER.last_real_constant*/ T0* r818a_external(T818* C){ T0* R=NULL; T0* _l=NULL; /*IF*/if (((((T818*)C))->_cc/*24*/)!=('\42')) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms157_818); r818warning(r818current_position(C1),b1); }/*]*/ } else { C->_ok=r818skip1(C,'\42'); } /*FI*//*IF*/if (r818a_keyword(C,((T0*)ms121_470))) { {T85*n=malloc(sizeof(*n)); *n=M85; _l=(T0*)n; } } else if (r818a_keyword(C,((T0*)ms98_470))) { {T893*n=malloc(sizeof(*n)); *n=M893; _l=(T0*)n; } } else if (r818a_keyword(C,((T0*)ms90_470))) { {T240*n=malloc(sizeof(*n)); *n=M240; _l=(T0*)n; } } else if (r818a_keyword(C,((T0*)ms99_470))) { {T320*n=malloc(sizeof(*n)); *n=M320; _l=(T0*)n; } } else if (r818a_keyword(C,((T0*)ms91_470))) { {T680*n=malloc(sizeof(*n)); *n=M680; _l=(T0*)n; } } else if (r818a_keyword(C,((T0*)ms81_818))) { {T85*n=malloc(sizeof(*n)); *n=M85; _l=(T0*)n; } r818wcpefnc(C,((T0*)ms82_818),((T0*)ms121_470)); } else if (r818a_keyword(C,((T0*)ms83_818))) { {T893*n=malloc(sizeof(*n)); *n=M893; _l=(T0*)n; } r818wcpefnc(C,((T0*)ms84_818),((T0*)ms98_470)); } else if (r818a_keyword(C,((T0*)ms85_818))) { {T240*n=malloc(sizeof(*n)); *n=M240; _l=(T0*)n; } r818wcpefnc(C,((T0*)ms86_818),((T0*)ms90_470)); } else if (r818a_keyword(C,((T0*)ms87_818))) { {T320*n=malloc(sizeof(*n)); *n=M320; _l=(T0*)n; } } else if (r818a_keyword(C,((T0*)ms88_818))) { {T680*n=malloc(sizeof(*n)); *n=M680; _l=(T0*)n; } r818wcpefnc(C,((T0*)ms89_818),((T0*)ms91_470)); } else if (r818a_keyword(C,((T0*)ms28_470))) { {T300*n=malloc(sizeof(*n)); *n=M300; _l=(T0*)n; } } else if (r818a_keyword(C,((T0*)ms29_470))) { {T970*n=malloc(sizeof(*n)); *n=M970; _l=(T0*)n; } } else { r818fcp(C,((T0*)ms90_818)); } /*FI*//*IF*/if (((((T818*)C))->_cc/*24*/)!=('\42')) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms157_818); r818warning(r818current_position(C1),b1); }/*]*/ } else { C->_ok=r818skip1(C,'\42'); } /*FI*/R=r505to_external_routine(((T505*)(oBC818tmp_feature)),_l,r818a_alias(C)); return R; } /*No:EIFFEL_PARSER.show_nb_errors*/ int r818a_class_type(T818* C){ int R=0; T0* _generic_list=NULL; T0* _base_class_name=NULL; int _state=0; /*IF*/if (r818a_base_type(C)) { C->_last_class_type=(((T818*)C))->_last_base_type/*69*/; R=1; } else if (r818a_base_class_name(C)) { R=1; _base_class_name=(((T818*)C))->_last_class_name/*89*/; while (!((_state)>(2))) { {int z1=_state; if((0==z1)){ /*IF*/if (r818skip1(C,'\133')) { _state=1; } else { {T657*n=malloc(sizeof(*n)); *n=M657; /*[IRF3.3make*/((((T657*)(n)))->_base_class_name)=(_base_class_name); /*]*/ C->_last_class_type=(T0*)n; } _state=3; } /*FI*/} else if((1==z1)){ /*IF*/if (r818a_type(C)) { /*IF*/if ((_generic_list)==((void*)(NULL))) { _generic_list=se_ma701(1,(((T818*)C))->_last_type/*157*/); } else { r701add_last(((T701*)_generic_list),(((T818*)C))->_last_type/*157*/); } /*FI*/_state=2; } else if (((((T818*)C))->_cc/*24*/)==('\54')) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms150_818); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=r818skip1(C,'\54'); } else if (((((T818*)C))->_cc/*24*/)==('\135')) { _state=2; } else { r818fcp(C,((T0*)ms156_818)); _state=2; } /*FI*/} else{/*IF*/if (r818skip1(C,'\54')) { _state=1; } else if (((((T818*)C))->_cc/*24*/)==('\135')) { /*IF*/if ((_generic_list)==((void*)(NULL))) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms54_818); r818warning(r818current_position(C1),b1); }/*]*/ {T657*n=malloc(sizeof(*n)); *n=M657; /*[IRF3.3make*/((((T657*)(n)))->_base_class_name)=(_base_class_name); /*]*/ C->_last_class_type=(T0*)n; } } else { {T720*n=malloc(sizeof(*n)); *n=M720; r720make(n,_base_class_name,_generic_list); C->_last_class_type=(T0*)n; } } /*FI*/C->_ok=r818skip1(C,'\135'); _state=3; } else if (r818a_type(C)) { /*IF*/if ((_generic_list)==((void*)(NULL))) { _generic_list=se_ma701(1,(((T818*)C))->_last_type/*157*/); } else { r701add_last(((T701*)_generic_list),(((T818*)C))->_last_type/*157*/); } /*FI*/r818warning(X291start_position((((T818*)C))->_last_type/*157*/),((T0*)ms143_818)); } else { r818fcp(C,((T0*)ms55_818)); _state=3; } /*FI*/}} } } /*FI*/return R; } T0* r818analyse_class(T818* C,T0* a1){ T0* R=NULL; T0* _path=NULL; int _old_nbw=0; int _old_nbe=0; _path=(((T676*)((T676*)(oBC364parser_buffer))))->_path/*0*/; /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)>(0)) { /*[IRF3.6append*/{T0* b1=((T0*)ms1_818); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683print_as_fatal_error(((T683*)(oBC364eh))); } /*FI*/r306put_integer(((T306*)(oBC364echo)),(/*(IRF4.9base_class_count*/(((T718*)((T718*)(oBC604base_class_dictionary))))->_count/*32*//*)*/)+(1)); r306put_character(((T306*)(oBC364echo)),'\11'); r306put_string(((T306*)(oBC364echo)),_path); r306put_character(((T306*)(oBC364echo)),'\n'); _old_nbe=/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/; _old_nbw=/*(IRF4.9nb_warnings*/(((T683*)((T683*)(oBC364eh))))->_nb_warnings/*4*//*)*/; C->_is_running=1; C->_function_type=NULL; C->_in_ensure=0; C->_last_comments=NULL; C->_ms_numbering=0; C->_line=1; C->_column=1; C->_current_line=r676item((((T818*)C))->_line/*16*/); /*IF*/if (((((T7*)((T7*)((((T818*)C))->_current_line/*20*/))))->_count/*4*/)==(0)) { C->_cc='\n'; } else { C->_cc=/*(IRF4.5first*//*(IRF4.6item*/((((T7*)((T7*)((((T818*)C))->_current_line/*20*/))))->_storage/*0*/)[(1)-(1)]/*)*//*)*/; } /*FI*/{T605*n=malloc(sizeof(*n)); *n=M605; r605make(n); C->_last_base_class=(T0*)n; } r818skip_comments(C); r818a_class_declaration(C); C->_is_running=0; /*[IRF3.3unset_is_ready*/((((T676*)(((T676*)(oBC364parser_buffer)))))->_path)=(NULL); /*]*/ R=(((T818*)C))->_last_base_class/*65*/; /*IF*/if (((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)-(_old_nbe))>(0)) { /*[IRF3.2show_nb_errors*/r818show_nb(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/,((T0*)ms10_818)); /*]*/ r306w_put_string(((T0*)ms4_818)); r306w_put_string(_path); r306w_put_string(((T0*)ms5_818)); R=NULL; } else if (((/*(IRF4.9nb_warnings*/(((T683*)((T683*)(oBC364eh))))->_nb_warnings/*4*//*)*/)-(_old_nbw))>(0)) { /*[IRF3.2show_nb_warnings*/r818show_nb(/*(IRF4.9nb_warnings*/(((T683*)((T683*)(oBC364eh))))->_nb_warnings/*4*//*)*/,((T0*)ms9_818)); /*]*/ } /*FI*//*IF*/if ((R)!=((void*)(NULL))) { r604add_class(((T604*)(oBC364small_eiffel)),R); /*IF*/if (((a1)!=((void*)(NULL)))&&(((((T451*)((T451*)a1)))->_to_string/*0*/)!=((void*)((((T451*)((T451*)((((T605*)((T605*)R)))->_base_class_name/*24*/))))->_to_string/*0*/)))) { r683add_position((((T451*)((T451*)a1)))->_start_position/*4*/); /*[IRF3.6append*/{T0* b1=((T0*)ms135_470); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=_path; r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=((T0*)ms6_818); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=(((T451*)((T451*)a1)))->_to_string/*0*/; r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms137_470); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/r605get_started(((T605*)R)); } /*FI*/return R; } T0*oBC818tmp_feature=NULL; T0* r818parse_c_name(T818* C){ T0* R=NULL; {T7*n=malloc(sizeof(*n)); *n=M7; r7make(n,32); R=(T0*)n; } while (!(r3is_separator((((T818*)C))->_cc/*24*/))) { r7extend(((T7*)R),(((T818*)C))->_cc/*24*/); r818next_char(C); } r818skip_comments(C); return R; } void r818disconnect(T818* C){ C->_is_running=0; /*[IRF3.3unset_is_ready*/((((T676*)(((T676*)(oBC364parser_buffer)))))->_path)=(NULL); /*]*/ } int r818a_character_constant(T818* C){ int R=0; char _value=0; int _printing_mode=0; int _state=0; T0* _sp=NULL; /*IF*/if (((((T818*)C))->_cc/*24*/)==('\47')) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_line/*16*/,(((T818*)C))->_column/*12*/); _sp=(T0*)n; } R=1; while (!((_state)>(2))) { r818next_char(C); {int z1=_state; if((0==z1)){ {int z2=(((T818*)C))->_cc/*24*/; if((37==z2)){ _state=1; } else if((39==z2)){ r818fcp(C,((T0*)ms148_818)); _state=2; } else{_value=(((T818*)C))->_cc/*24*/; _printing_mode=0; _state=2; }} } else if((1==z1)){ _printing_mode=1; _state=2; {int z2=(((T818*)C))->_cc/*24*/; if((65==z2)){ _value='\100'; } else if((66==z2)){ _value='\10'; } else if((67==z2)){ _value='\136'; } else if((68==z2)){ _value='\44'; } else if((70==z2)){ _value='\14'; } else if((72==z2)){ _value='\134'; } else if((76==z2)){ _value='\176'; } else if((78==z2)){ _value='\n'; } else if((81==z2)){ _value='\140'; } else if((82==z2)){ _value='\15'; } else if((83==z2)){ _value='\43'; } else if((84==z2)){ _value='\11'; } else if((85==z2)){ _value='\0'; } else if((86==z2)){ _value='\174'; } else if((37==z2)){ _value='\45'; } else if((39==z2)){ _value='\47'; } else if((34==z2)){ _value='\42'; } else if((40==z2)){ _value='\133'; } else if((41==z2)){ _value='\135'; } else if((60==z2)){ _value='\173'; } else if((62==z2)){ _value='\175'; } else if((47==z2)){ r818a_ascii_code(C); _value=((char)((((T818*)C))->_last_ascii_code/*61*/)); _printing_mode=2; } else{r818fcp(C,((T0*)ms24_818)); }} } else{_state=3; {int z2=(((T818*)C))->_cc/*24*/; if((39==z2)){ } else{r818fcp(C,((T0*)ms148_818)); }} r818next_char(C); r818skip_comments(C); }} } {T260*n=malloc(sizeof(*n)); *n=M260; r260make(n,_sp,_value,_printing_mode); C->_last_character_constant=(T0*)n; } } /*FI*/return R; } int r818a_check(T818* C){ int R=0; T0* _al=NULL; T0* _hc=NULL; T0* _sp=NULL; /*IF*/if (r818a_keyword(C,((T0*)ms4_470))) { R=1; {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } _hc=r818get_comments(C); _al=r818a_assertion(C); /*IF*/if (((_hc)!=((void*)(NULL)))||((_al)!=((void*)(NULL)))) { {T292*n=malloc(sizeof(*n)); *n=M292; r292make(n,_sp,_hc,_al); C->_last_instruction=(T0*)n; } } else { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms48_818); r818warning(r818current_position(C1),b1); }/*]*/ } /*FI*//*IF*/if (!(r818a_keyword(C,((T0*)ms12_470)))) { r818fcp(C,((T0*)ms49_818)); } /*FI*/} /*FI*/return R; } /*No:EIFFEL_PARSER.go_back*/ /*No:EIFFEL_PARSER.current_class*/ /*No:EIFFEL_PARSER.fz_export*/ /*No:EIFFEL_PARSER.fz_invariant*/ /*No:EIFFEL_PARSER.us_or_else*/ /*No:EIFFEL_PARSER.is_running*/ int r818a_result(T818* C){ int R=0; /*IF*/if (r511is_result()) { /*IF*/if (((((T818*)C))->_function_type/*29*/)==((void*)(NULL))) { r818error(r511start_position(((T511*)(oBC818tmp_name))),((T0*)ms152_818)); } /*FI*/C->_last_expression=r511to_e_result(((T511*)(oBC818tmp_name))); R=1; } /*FI*/return R; } int r818a_manifest_string(T818* C){ int R=0; int _state=0; /*IF*/if (((((T818*)C))->_cc/*24*/)==('\42')) { R=1; C->_ms_numbering=((((T818*)C))->_ms_numbering/*57*/)+(1); {T805*n=malloc(sizeof(*n)); *n=M805; r805make(n,r818pos((((T818*)C))->_line/*16*/,(((T818*)C))->_column/*12*/),(((T818*)C))->_ms_numbering/*57*/); C->_last_manifest_string=(T0*)n; } while (!((_state)>(3))) { r818next_char(C); {int z1=_state; if((0==z1)){ {int z2=(((T818*)C))->_cc/*24*/; if((10==z2)){ r818fcp(C,((T0*)ms146_818)); } else if((34==z2)){ _state=4; } else if((37==z2)){ _state=1; } else{/*[IRF3.5add*/r7extend(((T7*)((((T805*)((T805*)((((T818*)C))->_last_manifest_string/*145*/))))->_to_string/*16*/)),(((T818*)C))->_cc/*24*/); /*]*/ }} } else if((1==z1)){ _state=0; {int z2=(((T818*)C))->_cc/*24*/; if((10==z2)){ _state=3; } else if((65==z2)){ r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\100'); } else if((66==z2)){ r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\10'); } else if((67==z2)){ r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\136'); } else if((68==z2)){ r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\44'); } else if((70==z2)){ r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\14'); } else if((72==z2)){ r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\134'); } else if((76==z2)){ r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\176'); } else if((78==z2)){ r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\n'); } else if((81==z2)){ r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\140'); } else if((82==z2)){ r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\15'); } else if((83==z2)){ r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\43'); } else if((84==z2)){ r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\11'); } else if((85==z2)){ r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\0'); } else if((86==z2)){ r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\174'); } else if((37==z2)){ r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\45'); } else if((39==z2)){ r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\47'); } else if((34==z2)){ r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\42'); } else if((40==z2)){ r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\133'); } else if((41==z2)){ r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\135'); } else if((60==z2)){ r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\173'); } else if((62==z2)){ r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\175'); } else if((47==z2)){ r818a_ascii_code(C); r805add_ascii(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),((char)((((T818*)C))->_last_ascii_code/*61*/))); } else if((9==z2)||(32==z2)){ _state=2; } else{r818fcp(C,((T0*)ms26_818)); _state=0; }} } else if((2==z1)){ {int z2=(((T818*)C))->_cc/*24*/; if((10==z2)){ _state=3; } else if((9==z2)||(32==z2)){ } else{r818fcp(C,((T0*)ms27_818)); }} } else{{int z2=(((T818*)C))->_cc/*24*/; if((9==z2)||(32==z2)){ } else if((37==z2)){ r805break_line(((T805*)((((T818*)C))->_last_manifest_string/*145*/))); _state=0; } else if((10==z2)){ r818fcp(C,((T0*)ms146_818)); _state=0; } else{r818fcp(C,((T0*)ms28_818)); _state=0; }} }} } r818next_char(C); r818skip_comments(C); } /*FI*/return R; } void r818a_function_call(T818* C){ T0* _e_current=NULL; T0* _sfn=NULL; _sfn=r511to_simple_feature_name(((T511*)(oBC818tmp_name))); {T358*n=malloc(sizeof(*n)); *n=M358; r358make(n,(((T446*)((T446*)_sfn)))->_start_position/*20*/,0); _e_current=(T0*)n; } r818a_r10(C,0,_e_current,_sfn,r818a_actuals(C)); } /*No:EIFFEL_PARSER.fz_01*/ int r818a_real_constant(T818* C){ int R=0; int _c=0; int _l=0; _l=(((T818*)C))->_line/*16*/; _c=(((T818*)C))->_column/*12*/; /*IF*/if (r818skip1(C,'\53')) { /*IF*/if (r818a_real(C)) { r627set_line_column(((T627*)((((T936*)((T936*)((((T818*)C))->_last_real_constant/*153*/))))->_start_position/*12*/)),_l,_c); R=1; } else { r818go_back_at(C,_l,_c); } /*FI*/} else if (r818skip1(C,'\55')) { /*IF*/if (r818a_real(C)) { r627set_line_column(((T627*)((((T936*)((T936*)((((T818*)C))->_last_real_constant/*153*/))))->_start_position/*12*/)),_l,_c); /*[IRF3.5unary_minus*/r7add_first(((T7*)((((T936*)((T936*)((((T818*)C))->_last_real_constant/*153*/))))->_to_string/*16*/)),'\55'); /*]*/ R=1; } else { r818go_back_at(C,_l,_c); } /*FI*/} else if (r818a_real(C)) { R=1; } /*FI*/return R; } /*No:EIFFEL_PARSER.fz_inspect*/ void r818show_nb(int a1,T0* a2){ /*IF*/if ((a1)>(0)) { r306w_put_string(((T0*)ms75_470)); r306w_put_integer(a1); r306w_put_string(a2); } /*FI*/} /*No:EIFFEL_PARSER.fz_c_withcurrent*/ /*No:EIFFEL_PARSER.fz_03*/ /*No:EIFFEL_PARSER.fz_rename*/ T0* r818parse_feature_name(T818* C){ T0* R=NULL; /*IF*/if (r818a_feature_name(C)) { R=(((T818*)C))->_last_feature_name/*109*/; } else { r818fcp(C,((T0*)ms140_818)); } /*FI*/return R; } T0* r818connect_to_cecil(T818* C){ T0* R=NULL; T0* _path=NULL; _path=(((T590*)((T590*)(oBC364run_control))))->_cecil_path/*12*/; r306put_string(((T306*)(oBC364echo)),((T0*)ms7_818)); r306put_string(((T306*)(oBC364echo)),_path); r306put_character(((T306*)(oBC364echo)),'\n'); r676load_file(((T676*)(oBC364parser_buffer)),_path); /*IF*/if (!(/*(IRF4.7is_ready*/((((T676*)((T676*)(oBC364parser_buffer))))->_path/*0*/)!=(NULL)/*)*/)) { /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms8_818); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/C->_is_running=1; C->_formal_generic_list=NULL; C->_function_type=NULL; C->_in_ensure=0; C->_last_comments=NULL; C->_line=1; C->_column=1; C->_current_line=r676item((((T818*)C))->_line/*16*/); /*IF*/if (((((T7*)((T7*)((((T818*)C))->_current_line/*20*/))))->_count/*4*/)==(0)) { C->_cc='\n'; } else { C->_cc=/*(IRF4.5first*//*(IRF4.6item*/((((T7*)((T7*)((((T818*)C))->_current_line/*20*/))))->_storage/*0*/)[(1)-(1)]/*)*//*)*/; } /*FI*/r818skip_comments(C); {T7*n=malloc(sizeof(*n)); *n=M7; r7make(n,32); R=(T0*)n; } while (!(((((T818*)C))->_cc/*24*/)==('\n'))) { r7extend(((T7*)R),(((T818*)C))->_cc/*24*/); r818next_char(C); } r818skip_comments(C); return R; } int r818a_identifier1(T818* C){ int R=0; int _state=0; /*IF*/if (r3is_letter((((T818*)C))->_cc/*24*/)) { r511initialize(((T511*)(oBC818tmp_name)),(((T818*)C))->_line/*16*/,(((T818*)C))->_column/*12*/); /*[IRF3.6extend*/{char b1=r3to_lower((((T818*)C))->_cc/*24*/); r7extend(((T7*)(oBC511tmp_string)),b1); }/*]*/ while (!((_state)>(0))) { r818next_char(C); {int z1=(((T818*)C))->_cc/*24*/; if(((48<=z1)&&(z1<=57))||(95==z1)||((97<=z1)&&(z1<=122))){ /*[IRF3.6extend*/{char b1=(((T818*)C))->_cc/*24*/; r7extend(((T7*)(oBC511tmp_string)),b1); }/*]*/ } else if(((65<=z1)&&(z1<=90))){ /*[IRF3.6extend*/{char b1=r3to_lower((((T818*)C))->_cc/*24*/); r7extend(((T7*)(oBC511tmp_string)),b1); }/*]*/ } else{_state=1; }} } /*IF*/if (r511isa_keyword()) { _state=/*(IRF4.9count*/(((T7*)((T7*)(oBC511tmp_string))))->_count/*4*//*)*/; while (!((_state)==(0))) { _state=(_state)-(1); r818prev_char(C); } } else { R=1; r818skip_comments(C); } /*FI*/} /*FI*/return R; } /*No:EIFFEL_PARSER.fz_once*/ /*No:EIFFEL_PARSER.ecp*/ void r818fcp(T818* C,T0* a1){ r683add_position(r818current_position(C)); /*[IRF3.6fatal_error*/{T0* b1=a1; r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } int r818a_conditional(T818* C){ int R=0; T0* _ifthenelse=NULL; /*IF*/if (r818a_keyword(C,((T0*)ms21_470))) { R=1; {T530*n=malloc(sizeof(*n)); *n=M530; /*[IRF3.3make*/((((T530*)(n)))->_start_position)=(r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/)); /*]*/ _ifthenelse=(T0*)n; } r818a_then_part_list(C,_ifthenelse); /*IF*/if (r818a_keyword(C,((T0*)ms10_470))) { /*[IRF3.3set_else_compound*/((((T530*)(((T530*)_ifthenelse))))->_else_compound)=(r818a_compound2(C,((T0*)ms60_818),((T0*)ms12_470))); /*]*/ } else { /*IF*/if (!(r818a_keyword(C,((T0*)ms12_470)))) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms61_818); r818warning(r818current_position(C1),b1); }/*]*/ } /*FI*/} /*FI*/C->_last_instruction=_ifthenelse; } /*FI*/return R; } /*No:EIFFEL_PARSER.us_real*/ void r818a_procedure_call(T818* C){ T0* _e_current=NULL; T0* _sfn=NULL; _sfn=r511to_simple_feature_name(((T511*)(oBC818tmp_name))); {T358*n=malloc(sizeof(*n)); *n=M358; r358make(n,(((T446*)((T446*)_sfn)))->_start_position/*20*/,0); _e_current=(T0*)n; } r818a_r10(C,1,_e_current,_sfn,r818a_actuals(C)); } /*No:EIFFEL_PARSER.us_implies*/ T0*oBC818tmp_string=NULL; int r818a_integer(T818* C){ int R=0; int _value=0; int _state=0; /*IF*/if (r3is_digit((((T818*)C))->_cc/*24*/)) { R=1; C->_start_line=(((T818*)C))->_line/*16*/; C->_start_column=(((T818*)C))->_column/*12*/; _value=r3value((((T818*)C))->_cc/*24*/); while (!((_state)>(7))) { r818next_char(C); {int z1=_state; if((0==z1)){ {int z2=(((T818*)C))->_cc/*24*/; if(((48<=z2)&&(z2<=57))){ _value=((_value)*(10))+(r3value((((T818*)C))->_cc/*24*/)); _state=1; } else if((95==z2)){ _state=4; } else{_state=8; }} } else if((1==z1)){ {int z2=(((T818*)C))->_cc/*24*/; if(((48<=z2)&&(z2<=57))){ _value=((_value)*(10))+(r3value((((T818*)C))->_cc/*24*/)); _state=2; } else if((95==z2)){ _state=4; } else{_state=8; }} } else if((2==z1)){ {int z2=(((T818*)C))->_cc/*24*/; if(((48<=z2)&&(z2<=57))){ _value=((_value)*(10))+(r3value((((T818*)C))->_cc/*24*/)); _state=3; } else if((95==z2)){ _state=4; } else{_state=8; }} } else if((3==z1)){ {int z2=(((T818*)C))->_cc/*24*/; if(((48<=z2)&&(z2<=57))){ _value=((_value)*(10))+(r3value((((T818*)C))->_cc/*24*/)); } else if((95==z2)){ r818fcp(C,((T0*)ms147_818)); } else{_state=8; }} } else if((4==z1)){ {int z2=(((T818*)C))->_cc/*24*/; if(((48<=z2)&&(z2<=57))){ _value=((_value)*(10))+(r3value((((T818*)C))->_cc/*24*/)); _state=5; } else{r818fcp(C,((T0*)ms147_818)); }} } else if((5==z1)){ {int z2=(((T818*)C))->_cc/*24*/; if(((48<=z2)&&(z2<=57))){ _value=((_value)*(10))+(r3value((((T818*)C))->_cc/*24*/)); _state=6; } else{r818fcp(C,((T0*)ms147_818)); }} } else if((6==z1)){ {int z2=(((T818*)C))->_cc/*24*/; if(((48<=z2)&&(z2<=57))){ _value=((_value)*(10))+(r3value((((T818*)C))->_cc/*24*/)); _state=7; } else{r818fcp(C,((T0*)ms147_818)); }} } else {{int z2=(((T818*)C))->_cc/*24*/; if(((48<=z2)&&(z2<=57))){ r818fcp(C,((T0*)ms147_818)); } else if((95==z2)){ _state=4; } else{_state=8; }} }} } /*IF*/if (r3is_letter((((T818*)C))->_cc/*24*/)) { r818fcp(C,((T0*)ms158_818)); } /*FI*/r818skip_comments(C); {T342*n=malloc(sizeof(*n)); *n=M342; r342make(n,_value,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/)); C->_last_integer_constant=(T0*)n; } } /*FI*/return R; } /*No:EIFFEL_PARSER.last_binary*/ int r818a_identifier2(T818* C){ int R=0; int _do_warning=0; int _state=0; /*IF*/if (r3is_letter((((T818*)C))->_cc/*24*/)) { r511initialize(((T511*)(oBC818tmp_name)),(((T818*)C))->_line/*16*/,(((T818*)C))->_column/*12*/); /*[IRF3.6extend*/{char b1=(((T818*)C))->_cc/*24*/; r7extend(((T7*)(oBC511tmp_string)),b1); }/*]*/ while (!((_state)>(0))) { r818next_char(C); {int z1=(((T818*)C))->_cc/*24*/; if(((48<=z1)&&(z1<=57))||(95==z1)||((97<=z1)&&(z1<=122))){ /*[IRF3.6extend*/{char b1=(((T818*)C))->_cc/*24*/; r7extend(((T7*)(oBC511tmp_string)),b1); }/*]*/ } else if(((65<=z1)&&(z1<=90))){ _do_warning=1; /*[IRF3.6extend*/{char b1=(((T818*)C))->_cc/*24*/; r7extend(((T7*)(oBC511tmp_string)),b1); }/*]*/ } else{_state=1; }} } /*IF*/if (r511isa_keyword()) { _state=/*(IRF4.9count*/(((T7*)((T7*)(oBC511tmp_string))))->_count/*4*//*)*/; while (!((_state)==(0))) { _state=(_state)-(1); r818prev_char(C); } } else { R=1; r818skip_comments(C); /*IF*/if (_do_warning) { r818warning(r511start_position(((T511*)(oBC818tmp_name))),((T0*)ms159_818)); } /*FI*/} /*FI*/} /*FI*/return R; } /*No:EIFFEL_PARSER.us_minus*/ /*No:EIFFEL_PARSER.fz_elseif*/ T0*oBC818lcs=NULL; /*No:EIFFEL_PARSER.end_of_text*/ void r818prev_char(T818* C){ /*IF*/if (((((T818*)C))->_column/*12*/)>(1)) { C->_column=((((T818*)C))->_column/*12*/)-(1); C->_cc=/*(IRF4.6item*/((((T7*)((T7*)((((T818*)C))->_current_line/*20*/))))->_storage/*0*/)[((((T818*)C))->_column/*12*/)-(1)]/*)*/; } else { /*IF*/if (((((T818*)C))->_line/*16*/)>(1)) { C->_line=((((T818*)C))->_line/*16*/)-(1); C->_current_line=r676item((((T818*)C))->_line/*16*/); C->_column=((((T7*)((T7*)((((T818*)C))->_current_line/*20*/))))->_count/*4*/)+(1); C->_cc='\n'; } else { C->_column=0; C->_cc='\0'; } /*FI*/} /*FI*/} void r818a_indexing(T818* C){ /*IF*/if (r818a_keyword(C,((T0*)ms22_470))) { r818a_index_list(C); } /*FI*/} void r818next_char(T818* C){ /*IF*/if (((((T818*)C))->_column/*12*/)<((((T7*)((T7*)((((T818*)C))->_current_line/*20*/))))->_count/*4*/)) { C->_column=((((T818*)C))->_column/*12*/)+(1); C->_cc=/*(IRF4.6item*/((((T7*)((T7*)((((T818*)C))->_current_line/*20*/))))->_storage/*0*/)[((((T818*)C))->_column/*12*/)-(1)]/*)*/; } else if (((((T818*)C))->_column/*12*/)==((((T7*)((T7*)((((T818*)C))->_current_line/*20*/))))->_count/*4*/)) { C->_column=((((T818*)C))->_column/*12*/)+(1); C->_cc='\n'; } else if (((((T818*)C))->_line/*16*/)==((((T676*)((T676*)(oBC364parser_buffer))))->_count/*4*/)) { C->_cc='\0'; } else { C->_column=1; C->_line=((((T818*)C))->_line/*16*/)+(1); C->_current_line=r676item((((T818*)C))->_line/*16*/); /*IF*/if (((((T7*)((T7*)((((T818*)C))->_current_line/*20*/))))->_count/*4*/)==(0)) { C->_cc='\n'; } else { C->_cc=/*(IRF4.5first*//*(IRF4.6item*/((((T7*)((T7*)((((T818*)C))->_current_line/*20*/))))->_storage/*0*/)[(1)-(1)]/*)*//*)*/; } /*FI*/} /*FI*/} /*No:EIFFEL_PARSER.fz_redefine*/ T0* r818pos(int a1,int a2){ T0* R=NULL; {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,a1,a2); R=(T0*)n; } return R; } /*No:EIFFEL_PARSER.fz_variant*/ /*No:EIFFEL_PARSER.wcp*/ int r818a_base_class_name(T818* C){ int R=0; int _do_warning=0; int _state=0; /*IF*/if (r3is_letter((((T818*)C))->_cc/*24*/)) { /*IF*/if ((((unsigned)((((T818*)C))->_cc/*24*/))>=((unsigned)('a')))) { _do_warning=1; C->_cc=r3to_upper((((T818*)C))->_cc/*24*/); } /*FI*/r511initialize(((T511*)(oBC818tmp_name)),(((T818*)C))->_line/*16*/,(((T818*)C))->_column/*12*/); /*[IRF3.6extend*/{char b1=(((T818*)C))->_cc/*24*/; r7extend(((T7*)(oBC511tmp_string)),b1); }/*]*/ while (!((_state)>(0))) { r818next_char(C); {int z1=(((T818*)C))->_cc/*24*/; if(((48<=z1)&&(z1<=57))||((65<=z1)&&(z1<=90))||(95==z1)){ /*[IRF3.6extend*/{char b1=(((T818*)C))->_cc/*24*/; r7extend(((T7*)(oBC511tmp_string)),b1); }/*]*/ } else if(((97<=z1)&&(z1<=122))){ _do_warning=1; /*[IRF3.6extend*/{char b1=r3to_upper((((T818*)C))->_cc/*24*/); r7extend(((T7*)(oBC511tmp_string)),b1); }/*]*/ } else{_state=1; }} } /*IF*/if (r511isa_keyword()) { _state=/*(IRF4.9count*/(((T7*)((T7*)(oBC511tmp_string))))->_count/*4*//*)*/; while (!((_state)==(0))) { _state=(_state)-(1); r818prev_char(C); } } else { R=1; r818skip_comments(C); /*IF*/if (_do_warning) { r818warning(r511start_position(((T511*)(oBC818tmp_name))),((T0*)ms153_818)); } /*FI*/C->_last_class_name=r511to_class_name(((T511*)(oBC818tmp_name))); } /*FI*/} /*FI*/return R; } void r818a_formal_generic_list(T818* C){ int _state=0; T0* _list=NULL; T0* _fga=NULL; T0* _constraint=NULL; T0* _name=NULL; T0* _sp=NULL; C->_formal_generic_list=NULL; while (!((_state)>(4))) { {int z1=_state; if((0==z1)){ /*IF*/if (r818skip1(C,'\133')) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } _state=1; } else { _state=5; } /*FI*/} else if((1==z1)){ /*IF*/if (r818a_base_class_name(C)) { _name=(((T818*)C))->_last_class_name/*89*/; _state=2; } else { _state=6; } /*FI*/} else if((2==z1)){ /*IF*/if (r818skip2(C,'\55','\76')) { _state=4; } else if ((((((T818*)C))->_cc/*24*/)==('\54'))||(((((T818*)C))->_cc/*24*/)==('\135'))) { {T59*n=malloc(sizeof(*n)); *n=M59; r59make(n,_name,_constraint); _fga=(T0*)n; } _name=NULL; _constraint=NULL; /*IF*/if ((_list)==((void*)(NULL))) { _list=se_ma681(1,_fga); } else { r681add_last(((T681*)_list),_fga); } /*FI*/_fga=NULL; /*IF*/if (r818skip1(C,'\54')) { _state=1; } else { C->_ok=r818skip1(C,'\135'); _state=5; } /*FI*/} else { _state=6; } /*FI*/} else if((3==z1)){ /*IF*/if ((((((T818*)C))->_cc/*24*/)==('\54'))||(((((T818*)C))->_cc/*24*/)==('\135'))) { {T59*n=malloc(sizeof(*n)); *n=M59; r59make(n,_name,_constraint); _fga=(T0*)n; } _name=NULL; _constraint=NULL; /*IF*/if ((_list)==((void*)(NULL))) { _list=se_ma681(1,_fga); } else { r681add_last(((T681*)_list),_fga); } /*FI*/_fga=NULL; /*IF*/if (r818skip1(C,'\54')) { _state=1; } else { C->_ok=r818skip1(C,'\135'); _state=5; } /*FI*/} else { _state=6; } /*FI*/} else{/*IF*/if (r818a_class_type(C)) { _constraint=(((T818*)C))->_last_class_type/*93*/; _state=3; } else { r818fcp(C,((T0*)ms94_818)); _state=6; } /*FI*/}} } /*IF*/if ((_state)==(6)) { } else if (((_sp)!=((void*)(NULL)))&&((_list)==((void*)(NULL)))) { r818warning(_sp,((T0*)ms95_818)); } else if ((_sp)!=((void*)(NULL))) { {T881*n=malloc(sizeof(*n)); *n=M881; r881make(n,_sp,_list); C->_formal_generic_list=(T0*)n; } /*[IRF3.3set_formal_generic_list*/((((T605*)(((T605*)((((T818*)C))->_last_base_class/*65*/)))))->_formal_generic_list)=((((T818*)C))->_formal_generic_list/*33*/); /*]*/ } /*FI*/} int r818a_void(T818* C){ int R=0; /*IF*/if (r511is_void()) { C->_last_expression=r511to_e_void(((T511*)(oBC818tmp_name))); R=1; } /*FI*/return R; } /*No:EIFFEL_PARSER.fz_like*/ T0* r818a_assertion(T818* C){ T0* R=NULL; int _state=0; T0* _assertion=NULL; T0* _expression=NULL; T0* _tag=NULL; while (!((_state)>(3))) { {int z1=_state; if((0==z1)){ /*IF*/if (((((T818*)C))->_cc/*24*/)==('\73')) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms68_470); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=r818skip1(C,'\73'); /*IF*/if (((((T818*)C))->_last_comments/*25*/)!=((void*)(NULL))) { {T348*n=malloc(sizeof(*n)); *n=M348; r348make(n,NULL,NULL,r818get_comments(C)); _assertion=(T0*)n; } /*IF*/if ((R)==((void*)(NULL))) { R=se_ma608(1,_assertion); } else { r608add_last(((T608*)R),_assertion); } /*FI*/} /*FI*/} else if (r818a_tag_mark(C)) { _tag=(((T818*)C))->_last_tag_mark/*161*/; _state=1; } else if (r818a_expression(C)) { _expression=(((T818*)C))->_last_expression/*97*/; _state=2; } else { _state=4; } /*FI*/} else if((1==z1)){ /*IF*/if (r818skip1(C,'\73')) { {T348*n=malloc(sizeof(*n)); *n=M348; r348make(n,_tag,NULL,r818get_comments(C)); _assertion=(T0*)n; } /*IF*/if ((R)==((void*)(NULL))) { R=se_ma608(1,_assertion); } else { r608add_last(((T608*)R),_assertion); } /*FI*/_state=0; } else if (r818a_tag_mark(C)) { {T348*n=malloc(sizeof(*n)); *n=M348; r348make(n,_tag,NULL,r818get_comments(C)); _assertion=(T0*)n; } /*IF*/if ((R)==((void*)(NULL))) { R=se_ma608(1,_assertion); } else { r608add_last(((T608*)R),_assertion); } /*FI*/_tag=(((T818*)C))->_last_tag_mark/*161*/; } else if (r818a_expression(C)) { _expression=(((T818*)C))->_last_expression/*97*/; _state=3; } else { {T348*n=malloc(sizeof(*n)); *n=M348; r348make(n,_tag,NULL,r818get_comments(C)); _assertion=(T0*)n; } /*IF*/if ((R)==((void*)(NULL))) { R=se_ma608(1,_assertion); } else { r608add_last(((T608*)R),_assertion); } /*FI*/_state=4; } /*FI*/} else if((2==z1)){ /*IF*/if (r818skip1(C,'\73')) { {T348*n=malloc(sizeof(*n)); *n=M348; r348make(n,NULL,_expression,r818get_comments(C)); _assertion=(T0*)n; } /*IF*/if ((R)==((void*)(NULL))) { R=se_ma608(1,_assertion); } else { r608add_last(((T608*)R),_assertion); } /*FI*/_state=0; } else if (r818a_tag_mark(C)) { {T348*n=malloc(sizeof(*n)); *n=M348; r348make(n,NULL,_expression,r818get_comments(C)); _assertion=(T0*)n; } /*IF*/if ((R)==((void*)(NULL))) { R=se_ma608(1,_assertion); } else { r608add_last(((T608*)R),_assertion); } /*FI*/_tag=(((T818*)C))->_last_tag_mark/*161*/; _state=1; } else if (r818a_expression(C)) { {T348*n=malloc(sizeof(*n)); *n=M348; r348make(n,NULL,_expression,r818get_comments(C)); _assertion=(T0*)n; } /*IF*/if ((R)==((void*)(NULL))) { R=se_ma608(1,_assertion); } else { r608add_last(((T608*)R),_assertion); } /*FI*/_expression=(((T818*)C))->_last_expression/*97*/; _state=2; } else { {T348*n=malloc(sizeof(*n)); *n=M348; r348make(n,NULL,_expression,r818get_comments(C)); _assertion=(T0*)n; } /*IF*/if ((R)==((void*)(NULL))) { R=se_ma608(1,_assertion); } else { r608add_last(((T608*)R),_assertion); } /*FI*/_state=4; } /*FI*/} else{/*IF*/if (r818skip1(C,'\73')) { {T348*n=malloc(sizeof(*n)); *n=M348; r348make(n,_tag,_expression,r818get_comments(C)); _assertion=(T0*)n; } /*IF*/if ((R)==((void*)(NULL))) { R=se_ma608(1,_assertion); } else { r608add_last(((T608*)R),_assertion); } /*FI*/_state=0; } else if (r818a_tag_mark(C)) { {T348*n=malloc(sizeof(*n)); *n=M348; r348make(n,_tag,_expression,r818get_comments(C)); _assertion=(T0*)n; } /*IF*/if ((R)==((void*)(NULL))) { R=se_ma608(1,_assertion); } else { r608add_last(((T608*)R),_assertion); } /*FI*/_tag=(((T818*)C))->_last_tag_mark/*161*/; _state=1; } else if (r818a_expression(C)) { {T348*n=malloc(sizeof(*n)); *n=M348; r348make(n,_tag,_expression,r818get_comments(C)); _assertion=(T0*)n; } /*IF*/if ((R)==((void*)(NULL))) { R=se_ma608(1,_assertion); } else { r608add_last(((T608*)R),_assertion); } /*FI*/_expression=(((T818*)C))->_last_expression/*97*/; _state=2; } else { {T348*n=malloc(sizeof(*n)); *n=M348; r348make(n,_tag,_expression,r818get_comments(C)); _assertion=(T0*)n; } /*IF*/if ((R)==((void*)(NULL))) { R=se_ma608(1,_assertion); } else { r608add_last(((T608*)R),_assertion); } /*FI*/_state=4; } /*FI*/}} } return R; } void r818wcpefnc(T818* C,T0* a1,T0* a2){ /*[IRF3.6append*/{T0* b1=((T0*)ms136_818); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=a1; r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=((T0*)ms137_818); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=a2; r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms138_818); r818warning(r818current_position(C1),b1); }/*]*/ } /*No:EIFFEL_PARSER.us_double*/ T0* r818a_alias(T818* C){ T0* R=NULL; /*IF*/if (r818a_keyword(C,((T0*)ms1_470))) { /*IF*/if (r818a_manifest_string(C)) { R=(((T805*)((T805*)((((T818*)C))->_last_manifest_string/*145*/))))->_to_string/*16*/; } else { r818fcp(C,((T0*)ms91_818)); } /*FI*/} /*FI*/return R; } T0* r818parse_run_type(T818* C){ T0* R=NULL; /*IF*/if (r818a_class_type(C)) { R=(((T818*)C))->_last_class_type/*93*/; } else { r818fcp(C,((T0*)ms156_818)); } /*FI*/return R; } int r818a_debug(T818* C){ int R=0; T0* _e_debug=NULL; T0* _list=NULL; T0* _sp=NULL; /*IF*/if (r818a_keyword(C,((T0*)ms7_470))) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818skip1(C,'\50')) { while (!(!(r818a_manifest_string(C)))) { /*IF*/if ((_list)==((void*)(NULL))) { _list=se_ma381(1,(((T818*)C))->_last_manifest_string/*145*/); } else { r381add_last(((T381*)_list),(((T818*)C))->_last_manifest_string/*145*/); } /*FI*/C->_ok=r818skip1(C,'\54'); } /*IF*/if ((_list)==((void*)(NULL))) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms69_818); r818warning(r818current_position(C1),b1); }/*]*/ } /*FI*//*IF*/if (!(r818skip1(C,'\51'))) { r818fcp(C,((T0*)ms70_818)); } /*FI*/} /*FI*/R=1; {T347*n=malloc(sizeof(*n)); *n=M347; r347make(n,_sp,_list,r818a_compound2(C,((T0*)ms71_818),((T0*)ms12_470))); _e_debug=(T0*)n; } C->_last_instruction=_e_debug; } /*FI*/return R; } int r818a_real(T818* C){ int R=0; int _c=0; int _l=0; int _state=0; /*IF*/if ((r3is_digit((((T818*)C))->_cc/*24*/))||(((((T818*)C))->_cc/*24*/)==('\56'))) { _l=(((T818*)C))->_line/*16*/; _c=(((T818*)C))->_column/*12*/; /*[IRF3.3clear*/((((T7*)(((T7*)(oBC818tmp_string)))))->_count)=(0); /*]*/ /*IF*/if (((((T818*)C))->_cc/*24*/)==('\56')) { r7append(((T7*)(oBC818tmp_string)),((T0*)ms185_470)); _state=5; } else { r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/); } /*FI*/while (!((_state)>(11))) { r818next_char(C); {int z1=_state; if((0==z1)){ {int z2=(((T818*)C))->_cc/*24*/; if(((48<=z2)&&(z2<=57))){ r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/); } else if((46==z2)){ r7extend(((T7*)(oBC818tmp_string)),'\56'); _state=4; } else{_state=13; }} } else if((1==z1)){ {int z2=(((T818*)C))->_cc/*24*/; if(((48<=z2)&&(z2<=57))){ r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/); _state=2; } else{r818fcp(C,((T0*)ms147_818)); }} } else if((2==z1)){ {int z2=(((T818*)C))->_cc/*24*/; if(((48<=z2)&&(z2<=57))){ r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/); _state=3; } else{r818fcp(C,((T0*)ms147_818)); }} } else if((3==z1)){ {int z2=(((T818*)C))->_cc/*24*/; if(((48<=z2)&&(z2<=57))){ r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/); _state=0; } else{r818fcp(C,((T0*)ms147_818)); }} } else if((4==z1)){ {int z2=(((T818*)C))->_cc/*24*/; if(((48<=z2)&&(z2<=57))){ r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/); _state=6; } else if((69==z2)||(101==z2)){ r7extend(((T7*)(oBC818tmp_string)),'E'); _state=10; } else{_state=12; }} } else if((5==z1)){ {int z2=(((T818*)C))->_cc/*24*/; if(((48<=z2)&&(z2<=57))){ r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/); _state=6; } else{_state=13; }} } else if((6==z1)){ {int z2=(((T818*)C))->_cc/*24*/; if(((48<=z2)&&(z2<=57))){ r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/); } else if((69==z2)||(101==z2)){ r7extend(((T7*)(oBC818tmp_string)),'E'); _state=10; } else if((95==z2)){ _state=7; } else{_state=12; }} } else if((7==z1)){ {int z2=(((T818*)C))->_cc/*24*/; if(((48<=z2)&&(z2<=57))){ r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/); _state=8; } else{r818fcp(C,((T0*)ms139_818)); }} } else if((8==z1)){ {int z2=(((T818*)C))->_cc/*24*/; if(((48<=z2)&&(z2<=57))){ r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/); _state=9; } else{r818fcp(C,((T0*)ms139_818)); }} } else if((9==z1)){ {int z2=(((T818*)C))->_cc/*24*/; if(((48<=z2)&&(z2<=57))){ r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/); _state=6; } else{r818fcp(C,((T0*)ms139_818)); }} } else if((10==z1)){ {int z2=(((T818*)C))->_cc/*24*/; if((43==z2)){ _state=11; } else if((45==z2)){ r7extend(((T7*)(oBC818tmp_string)),'\55'); _state=11; } else if(((48<=z2)&&(z2<=57))){ r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/); _state=11; } else{r818fcp(C,((T0*)ms29_818)); _state=13; }} } else{{int z2=(((T818*)C))->_cc/*24*/; if(((48<=z2)&&(z2<=57))){ r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/); } else{_state=12; }} }} } /*IF*/if ((_state)==(12)) { {T936*n=malloc(sizeof(*n)); *n=M936; r936make(n,r818pos(_l,_c),r7twin(((T7*)(oBC818tmp_string)))); C->_last_real_constant=(T0*)n; } R=1; r818skip_comments(C); } else { r818go_back_at(C,_l,_c); } /*FI*/} /*FI*/return R; } void r818a_redefine_list(T818* C){ /*IF*/if (r818a_feature_list(C)) { r877set_redefine(((T877*)((((T818*)C))->_last_parent/*149*/)),(((T818*)C))->_last_feature_list/*105*/); } /*FI*/} /*No:EIFFEL_PARSER.fz_undefine*/ void r818a_local_var_list(T818* C,T0* a1){ int _state=0; int _rank=0; T0* _list=NULL; T0* _declaration=NULL; T0* _name_list=NULL; T0* _name=NULL; while (!((_state)>(4))) { {int z1=_state; if((0==z1)){ /*IF*/if (r818a_identifier(C)) { _name=r511to_local_name1(((T511*)(oBC818tmp_name))); _state=1; /*IF*/if (((((T818*)C))->_arguments/*45*/)!=((void*)(NULL))) { _rank=r31rank_of(((T31*)((((T818*)C))->_arguments/*45*/)),(((T39*)((T39*)_name)))->_to_string/*12*/); /*IF*/if ((_rank)>(0)) { r683add_position((((T39*)((T39*)_name)))->_start_position/*16*/); r683add_position((((T873*)((T873*)(/*(IRF4.6name*/r65item(((T65*)((((T31*)((T31*)((((T818*)C))->_arguments/*45*/))))->_flat_list/*12*/)),_rank)/*)*/))))->_start_position/*16*/); r683error(((T683*)(oBC364eh)),((T0*)ms16_818)); } /*FI*/} /*FI*/} else if ((((((T818*)C))->_cc/*24*/)==('\54'))||(((((T818*)C))->_cc/*24*/)==('\73'))) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms151_818); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=(r818skip1(C,'\54'))||(r818skip1(C,'\73')); } else { _state=5; } /*FI*/} else if((1==z1)){ /*IF*/if (r818skip1(C,'\72')) { /*IF*/if ((_name_list)!=((void*)(NULL))) { r733add_last(((T733*)_name_list),_name); _name=NULL; } /*FI*/_state=3; } else { /*IF*/if (((((T818*)C))->_cc/*24*/)==('\73')) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms17_818); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=r818skip1(C,'\73'); } else { C->_ok=r818skip1(C,'\54'); } /*FI*//*IF*/if ((_name_list)==((void*)(NULL))) { _name_list=se_ma733(1,_name); } else { r733add_last(((T733*)_name_list),_name); } /*FI*/_name=NULL; _state=2; } /*FI*/} else if((2==z1)){ /*IF*/if (r818a_identifier(C)) { _name=r511to_local_name1(((T511*)(oBC818tmp_name))); _state=1; /*IF*/if (((((T818*)C))->_arguments/*45*/)!=((void*)(NULL))) { _rank=r31rank_of(((T31*)((((T818*)C))->_arguments/*45*/)),(((T39*)((T39*)_name)))->_to_string/*12*/); /*IF*/if ((_rank)>(0)) { r683add_position((((T39*)((T39*)_name)))->_start_position/*16*/); r683add_position((((T873*)((T873*)(/*(IRF4.6name*/r65item(((T65*)((((T31*)((T31*)((((T818*)C))->_arguments/*45*/))))->_flat_list/*12*/)),_rank)/*)*/))))->_start_position/*16*/); r683error(((T683*)(oBC364eh)),((T0*)ms18_818)); } /*FI*/} /*FI*/} else if ((((((T818*)C))->_cc/*24*/)==('\54'))||(((((T818*)C))->_cc/*24*/)==('\73'))) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms151_818); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=(r818skip1(C,'\54'))||(r818skip1(C,'\73')); } else { _state=6; } /*FI*/} else if((3==z1)){ /*IF*/if (r818a_type(C)) { /*IF*/if ((_name_list)!=((void*)(NULL))) { {T64*n=malloc(sizeof(*n)); *n=M64; r64make(n,_name_list,(((T818*)C))->_last_type/*157*/); _declaration=(T0*)n; } _name_list=NULL; } else { {T723*n=malloc(sizeof(*n)); *n=M723; r723make(n,_name,(((T818*)C))->_last_type/*157*/); _declaration=(T0*)n; } _name=NULL; } /*FI*//*IF*/if ((_list)==((void*)(NULL))) { _list=se_ma382(1,_declaration); } else { r382add_last(((T382*)_list),_declaration); } /*FI*/_state=4; } else { _state=6; } /*FI*/} else{/*IF*/if (((((T818*)C))->_cc/*24*/)==('\54')) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms19_818); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=r818skip1(C,'\54'); _state=0; } else { C->_ok=r818skip1(C,'\73'); _state=0; } /*FI*/}} } /*IF*/if ((_state)==(6)) { r818fcp(C,((T0*)ms20_818)); } else if ((_list)!=((void*)(NULL))) { {T620*n=malloc(sizeof(*n)); *n=M620; r620make(n,a1,_list); C->_local_vars=(T0*)n; } /*[IRF3.3set_local_vars*/((((T505*)(((T505*)(oBC818tmp_feature)))))->_local_vars)=((((T818*)C))->_local_vars/*49*/); /*]*/ } /*FI*/} /*No:EIFFEL_PARSER.fz_59*/ /*No:EIFFEL_PARSER.fz_desc*/ void r818a_rename_list(T818* C){ while (!(!(r818a_rename_pair(C)))) { C->_ok=r818skip1(C,'\54'); } } int r818a_argument(T818* C){ int R=0; int _rank=0; /*IF*/if (((((T818*)C))->_arguments/*45*/)!=((void*)(NULL))) { _rank=r31rank_of(((T31*)((((T818*)C))->_arguments/*45*/)),r511to_string(((T511*)(oBC818tmp_name)))); /*IF*/if ((_rank)>(0)) { C->_last_expression=r511to_argument_name2(((T511*)(oBC818tmp_name)),(((T818*)C))->_arguments/*45*/,_rank); R=1; } /*FI*/} /*FI*/return R; } /*No:EIFFEL_PARSER.fz_local*/ /*No:EIFFEL_PARSER.formal_generic_list*/ T0* r818to_call(T0* a1,T0* a2,T0* a3){ T0* R=NULL; /*IF*/if ((a2)==((void*)(NULL))) { R=a1; } else if ((a3)==((void*)(NULL))) { {T487*n=malloc(sizeof(*n)); *n=M487; r487make(n,a1,a2); R=(T0*)n; } } else if ((r431count(((T431*)a3)))==(1)) { {T492*n=malloc(sizeof(*n)); *n=M492; r492make(n,a1,a2,a3); R=(T0*)n; } } else { {T915*n=malloc(sizeof(*n)); *n=M915; r915make(n,a1,a2,a3); R=(T0*)n; } } /*FI*/return R; } /*No:EIFFEL_PARSER.fz_require*/ /*No:EIFFEL_PARSER.fz_then*/ /*No:EIFFEL_PARSER.fz_when*/ /*No:EIFFEL_PARSER.set_drop_comments*/ /*No:EIFFEL_PARSER.fz_error_stars*/ void r818a_undefine_list(T818* C){ /*IF*/if (r818a_feature_list(C)) { r877set_undefine(((T877*)((((T818*)C))->_last_parent/*149*/)),(((T818*)C))->_last_feature_list/*105*/); } /*FI*/} /*No:EIFFEL_PARSER.current_line*/ /*No:EIFFEL_PARSER.fatal_error*/ /*No:EIFFEL_PARSER.us_native_array*/ void r818a_after_a_dot(T818* C,int a1,T0* a2){ T0* _eal=NULL; T0* _sfn=NULL; /*IF*/if (r818a_identifier(C)) { /*IF*/if (((r818a_result(C))||(r818a_void(C)))||(r818a_current(C))) { r683add_position(X662start_position((((T818*)C))->_last_expression/*97*/)); r683error(((T683*)(oBC364eh)),((T0*)ms33_818)); } /*FI*/_sfn=r511to_simple_feature_name(((T511*)(oBC818tmp_name))); _eal=r818a_actuals(C); r818a_r10(C,a1,a2,_sfn,_eal); } else { r818fcp(C,((T0*)ms34_818)); } /*FI*/} int r818a_constant(T818* C){ int R=0; T0* _sfn=NULL; T0* _e_current=NULL; /*IF*/if (r818a_identifier(C)) { R=1; _sfn=r511to_simple_feature_name(((T511*)(oBC818tmp_name))); {T358*n=malloc(sizeof(*n)); *n=M358; r358make(n,(((T446*)((T446*)_sfn)))->_start_position/*20*/,0); _e_current=(T0*)n; } {T487*n=malloc(sizeof(*n)); *n=M487; r487make(n,_e_current,_sfn); C->_last_expression=(T0*)n; } } else if (r818a_character_constant(C)) { R=1; C->_last_expression=(((T818*)C))->_last_character_constant/*85*/; } else if (r818a_integer_constant(C)) { R=1; C->_last_expression=(((T818*)C))->_last_integer_constant/*129*/; } /*FI*/return R; } /*No:EIFFEL_PARSER.last_bit_constant*/ /*No:EIFFEL_PARSER.fz_check*/ T0* r818a_routine_body(T818* C){ T0* R=NULL; /*IF*/if (r818a_keyword(C,((T0*)ms8_470))) { r605set_is_deferred(((T605*)((((T818*)C))->_last_base_class/*65*/))); R=r505to_deferred_routine(((T505*)(oBC818tmp_feature))); } else if (r818a_keyword(C,((T0*)ms16_470))) { R=r818a_external(C); } else if (r818a_keyword(C,((T0*)ms9_470))) { /*[IRF3.3set_routine_body*/((((T505*)(((T505*)(oBC818tmp_feature)))))->_routine_body)=(r818a_compound1(C,((T0*)ms116_818))); /*]*/ R=r505to_procedure_or_function(((T505*)(oBC818tmp_feature))); } else if (r818a_keyword(C,((T0*)ms35_470))) { /*[IRF3.3set_routine_body*/((((T505*)(((T505*)(oBC818tmp_feature)))))->_routine_body)=(r818a_compound1(C,((T0*)ms117_818))); /*]*/ R=r505to_once_routine(((T505*)(oBC818tmp_feature))); } else { r818fcp(C,((T0*)ms118_818)); } /*FI*/return R; } int r818a_type(T818* C){ int R=0; T0* _argument_name2=NULL; T0* _sp=NULL; R=1; /*IF*/if (r818a_keyword(C,((T0*)ms30_470))) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_identifier(C)) { /*IF*/if (r818a_current(C)) { {T958*n=malloc(sizeof(*n)); *n=M958; r958make(n,_sp,(((T818*)C))->_last_expression/*97*/); C->_last_type=(T0*)n; } } else if (r818a_argument(C)) { _argument_name2=(((T818*)C))->_last_expression/*97*/; if(NULL!=(_argument_name2))switch(((T0*)_argument_name2)->id) { case 886: break; default: _argument_name2=NULL; };{T239*n=malloc(sizeof(*n)); *n=M239; r239make(n,_sp,_argument_name2); C->_last_type=(T0*)n; } } else { {T648*n=malloc(sizeof(*n)); *n=M648; r648make(n,_sp,r511to_simple_feature_name(((T511*)(oBC818tmp_name)))); C->_last_type=(T0*)n; } } /*FI*/} else { r818fcp(C,((T0*)ms129_818)); } /*FI*/} else if (r818a_keyword(C,((T0*)ms14_470))) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_class_type(C)) { {T523*n=malloc(sizeof(*n)); *n=M523; r523make(n,_sp,(((T818*)C))->_last_class_type/*93*/); C->_last_type=(T0*)n; } } else { r818fcp(C,((T0*)ms130_818)); } /*FI*/} else if (r818a_keyword(C,((T0*)ms3_473))) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_integer(C)) { {T549*n=malloc(sizeof(*n)); *n=M549; r549make(n,_sp,(((T818*)C))->_last_integer_constant/*129*/); C->_last_type=(T0*)n; } } else if (r818a_identifier(C)) { {T558*n=malloc(sizeof(*n)); *n=M558; r558make(n,_sp,r511to_simple_feature_name(((T511*)(oBC818tmp_name)))); C->_last_type=(T0*)n; } } else { r818fcp(C,((T0*)ms131_818)); } /*FI*/} else if (r818a_type_formal_generic(C)) { C->_last_type=(((T818*)C))->_last_type_formal_generic/*117*/; } else if (r818a_class_type(C)) { C->_last_type=(((T818*)C))->_last_class_type/*93*/; } else { R=0; } /*FI*/return R; } /*No:EIFFEL_PARSER.last_manifest_constant*/ int r818a_inspect(T818* C){ int R=0; T0* _ec=NULL; T0* _i=NULL; T0* _spec=NULL; T0* _sp=NULL; /*IF*/if (r818a_keyword(C,((T0*)ms25_470))) { R=1; {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_expression(C)) { C->_last_expression=X662add_comment((((T818*)C))->_last_expression/*97*/,r818get_comments(C)); } else { r818fcp(C,((T0*)ms99_818)); } /*FI*/{T270*n=malloc(sizeof(*n)); *n=M270; r270make(n,_sp,(((T818*)C))->_last_expression/*97*/); _i=(T0*)n; } while (!(!(r818a_when_part(C,_i)))) { } /*IF*/if (r818a_keyword(C,((T0*)ms10_470))) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _spec=(T0*)n; } _ec=r818a_compound2(C,((T0*)ms100_818),((T0*)ms12_470)); r270set_else_compound(((T270*)_i),_spec,_ec); } else if (!(r818a_keyword(C,((T0*)ms12_470)))) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms101_818); r818warning(r818current_position(C1),b1); }/*]*/ } /*FI*/C->_last_instruction=_i; } /*FI*/return R; } int r818a_assignment_or_call(T818* C){ int R=0; /*IF*/if ((r818skip1(C,'\50'))&&(r818a_expression(C))) { R=1; /*IF*/if (r818skip1(C,'\51')) { r818a_r10(C,1,(((T818*)C))->_last_expression/*97*/,NULL,NULL); } else { r818fcp(C,((T0*)ms35_818)); } /*FI*/} else if (r818a_identifier(C)) { R=1; /*IF*/if (r818skip2(C,'\72','\75')) { r818a_assignment_aux(C,1); } else if (r818skip2(C,'\77','\75')) { r818a_assignment_aux(C,0); } else if ((((r818a_current(C))||(r818a_result(C)))||(r818a_local_variable(C)))||(r818a_argument(C))) { r818a_r10(C,1,(((T818*)C))->_last_expression/*97*/,NULL,NULL); } else { r818a_procedure_call(C); } /*FI*/} /*FI*/return R; } /*No:EIFFEL_PARSER.last_feature_list*/ T0* r818get_comments(T818* C){ T0* R=NULL; R=(((T818*)C))->_last_comments/*25*/; C->_last_comments=NULL; return R; } void r818warning(T0* a1,T0* a2){ r683add_position(a1); r683warning(((T683*)(oBC364eh)),a2); } /*No:EIFFEL_PARSER.fz_retry*/ /*No:EIFFEL_PARSER.fz_inherit*/ /*No:EIFFEL_PARSER.fz_select*/ int r818a_creation(T818* C){ int R=0; int _state=0; T0* _call=NULL; T0* _proc_name=NULL; T0* _writable=NULL; T0* _type=NULL; T0* _sp=NULL; while (!((_state)>(6))) { {int z1=_state; if((0==z1)){ /*IF*/if (r818skip1(C,'\41')) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } _state=1; } else { _state=7; } /*FI*/} else if((1==z1)){ /*IF*/if (r818a_type(C)) { _type=(((T818*)C))->_last_type/*157*/; /*IF*/if (X291is_anchored(_type)) { r818warning(X291start_position(_type),((T0*)ms62_818)); } /*FI*/_state=2; } else if (r818skip1(C,'\41')) { _state=3; } else { r818fcp(C,((T0*)ms63_818)); _state=8; } /*FI*/} else if((2==z1)){ /*IF*/if (r818skip1(C,'\41')) { _state=3; } else { _state=8; r818fcp(C,((T0*)ms64_818)); } /*FI*/} else if((3==z1)){ /*IF*/if (r818a_identifier(C)) { /*IF*/if (r818a_current(C)) { _state=8; r818error(X662start_position((((T818*)C))->_last_expression/*97*/),((T0*)ms65_818)); } else if (r818a_argument(C)) { _state=8; r818error(X662start_position((((T818*)C))->_last_expression/*97*/),((T0*)ms66_818)); } else if ((r818a_result(C))||(r818a_local_variable(C))) { _writable=(((T818*)C))->_last_expression/*97*/; _state=4; } else { _writable=r511to_simple_feature_name(((T511*)(oBC818tmp_name))); _state=4; } /*FI*/} else { _state=8; r818fcp(C,((T0*)ms67_818)); } /*FI*/} else if((4==z1)){ /*IF*/if (r818skip1unless2(C,'\56','\56')) { _state=5; } else { _state=7; } /*FI*/} else if((5==z1)){ /*IF*/if (r818a_identifier(C)) { _proc_name=r511to_simple_feature_name(((T511*)(oBC818tmp_name))); _state=6; } else { _state=8; r818fcp(C,((T0*)ms68_818)); } /*FI*/} else{/*IF*/if (((((T818*)C))->_cc/*24*/)==('\50')) { _call=r818to_proc_call(C,_writable,_proc_name,r818a_actuals(C)); } else { {T268*n=malloc(sizeof(*n)); *n=M268; r268make(n,_writable,_proc_name); _call=(T0*)n; } } /*FI*/_state=7; }} } /*IF*/if (((_state)==(7))&&((_sp)!=((void*)(NULL)))) { R=1; /*IF*/if (((_type)==((void*)(NULL)))&&((_call)==((void*)(NULL)))) { {T362*n=malloc(sizeof(*n)); *n=M362; r362make(n,_sp,_writable); C->_last_instruction=(T0*)n; } } else if (((_type)!=((void*)(NULL)))&&((_call)==((void*)(NULL)))) { {T376*n=malloc(sizeof(*n)); *n=M376; r376make(n,_sp,_type,_writable); C->_last_instruction=(T0*)n; } } else if (((_type)==((void*)(NULL)))&&((_call)!=((void*)(NULL)))) { {T390*n=malloc(sizeof(*n)); *n=M390; r390make(n,_sp,_writable,_call); C->_last_instruction=(T0*)n; } } else { {T404*n=malloc(sizeof(*n)); *n=M404; r404make(n,_sp,_type,_writable,_call); C->_last_instruction=(T0*)n; } } /*FI*/} /*FI*/return R; } /*No:EIFFEL_PARSER.fz_old*/ T0* r818a_routine(T818* C){ T0* R=NULL; T0* _ea=NULL; T0* _al=NULL; T0* _hc=NULL; T0* _sp=NULL; /*IF*/if (r818a_keyword(C,((T0*)ms33_470))) { /*IF*/if (r818a_manifest_string(C)) { /*[IRF3.3set_obsolete_mark*/((((T505*)(((T505*)(oBC818tmp_feature)))))->_obsolete_mark)=((((T818*)C))->_last_manifest_string/*145*/); /*]*/ } else { r818fcp(C,((T0*)ms114_818)); } /*FI*/} /*FI*//*[IRF3.3set_header_comment*/((((T505*)(((T505*)(oBC818tmp_feature)))))->_header_comment)=(r818get_comments(C)); /*]*/ /*IF*/if (r818a_keyword(C,((T0*)ms40_470))) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_keyword(C,((T0*)ms10_470))) { _hc=r818get_comments(C); r505set_require_else(((T505*)(oBC818tmp_feature)),_sp,_hc,r818a_assertion(C)); } else { _hc=r818get_comments(C); r505set_require(((T505*)(oBC818tmp_feature)),_sp,_hc,r818a_assertion(C)); } /*FI*/} /*FI*//*IF*/if (r818a_keyword(C,((T0*)ms31_470))) { r818a_local_var_list(C,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/)); } /*FI*/R=r818a_routine_body(C); /*IF*/if (r818a_keyword(C,((T0*)ms13_470))) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } C->_in_ensure=1; /*IF*/if (r818a_keyword(C,((T0*)ms46_470))) { _hc=r818get_comments(C); _al=r818a_assertion(C); /*IF*/if (((_hc)!=((void*)(NULL)))||((_al)!=((void*)(NULL)))) { {T633*n=malloc(sizeof(*n)); *n=M633; r633make(n,_sp,_hc,_al); _ea=(T0*)n; } /*[IRF3.3set_ensure_then*/((((T633*)(((T633*)_ea))))->_is_ensure_then)=(1); /*]*/ } /*FI*/X368set_ensure_assertion(R,_ea); } else { _hc=r818get_comments(C); _al=r818a_assertion(C); /*IF*/if (((_hc)!=((void*)(NULL)))||((_al)!=((void*)(NULL)))) { {T633*n=malloc(sizeof(*n)); *n=M633; r633make(n,_sp,_hc,_al); _ea=(T0*)n; } } /*FI*/X368set_ensure_assertion(R,_ea); } /*FI*/C->_in_ensure=0; } /*FI*//*IF*/if (r818a_keyword(C,((T0*)ms41_470))) { C->_in_rescue=1; X368set_rescue_compound(R,r818a_compound2(C,((T0*)ms41_470),((T0*)ms12_470))); C->_in_rescue=0; } else { /*IF*/if (!(r818a_keyword(C,((T0*)ms12_470)))) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms115_818); r818warning(r818current_position(C1),b1); }/*]*/ } /*FI*/} /*FI*/C->_local_vars=NULL; return R; } T0*oBC818tmp_name=NULL; void r818a_then_part_list(T818* C,T0* a1){ /*IF*/if (!(r818a_then_part(C,a1))) { r818fcp(C,((T0*)ms125_818)); } /*FI*/while (!(!(r818a_keyword(C,((T0*)ms11_470))))) { /*IF*/if (!(r818a_then_part(C,a1))) { r818fcp(C,((T0*)ms126_818)); } /*FI*/} } /*No:EIFFEL_PARSER.us_none*/ void r818a_assignment_aux(T818* C,int a1){ T0* _rhs=NULL; T0* _writable=NULL; /*IF*/if (r818a_current(C)) { r683add_position(X662start_position((((T818*)C))->_last_expression/*97*/)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms36_818); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } else if (r818a_void(C)) { r683add_position(r511start_position(((T511*)(oBC818tmp_name)))); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms37_818); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } else if (r818a_argument(C)) { r683add_position(X662start_position((((T818*)C))->_last_expression/*97*/)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms38_818); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } else { /*IF*/if (r511is_result()) { /*IF*/if (((((T818*)C))->_function_type/*29*/)==((void*)(NULL))) { r818error(r511start_position(((T511*)(oBC818tmp_name))),((T0*)ms152_818)); } /*FI*/_writable=r511to_e_result(((T511*)(oBC818tmp_name))); } else if (r818a_local_variable(C)) { _writable=(((T818*)C))->_last_expression/*97*/; } else { _writable=r511to_simple_feature_name(((T511*)(oBC818tmp_name))); } /*FI*//*IF*/if (r818a_expression(C)) { _rhs=(((T818*)C))->_last_expression/*97*/; /*IF*/if (a1) { {T629*n=malloc(sizeof(*n)); *n=M629; r629make(n,_writable,_rhs); C->_last_instruction=(T0*)n; } } else { {T126*n=malloc(sizeof(*n)); *n=M126; r126make(n,_writable,_rhs); C->_last_instruction=(T0*)n; } } /*FI*/} else { r818fcp(C,((T0*)ms39_818)); } /*FI*/} /*FI*/} /*No:EIFFEL_PARSER.case_insensitive*/ /*No:EIFFEL_PARSER.fz_deferred*/ int r818a_identifier(T818* C){ int R=0; /*IF*/if ((((T818*)C))->_case_insensitive/*0*/) { R=r818a_identifier1(C); } else { R=r818a_identifier2(C); } /*FI*/return R; } int r818a_expression(T818* C){ int R=0; T0* _list=NULL; T0* _sp=NULL; /*IF*/if (r818skip2(C,'\74','\74')) { R=1; {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } while (!(!(r818a_expression(C)))) { /*IF*/if ((_list)==((void*)(NULL))) { _list=se_ma96(1,(((T818*)C))->_last_expression/*97*/); } else { X96add_last(_list,(((T818*)C))->_last_expression/*97*/); } /*FI*/C->_ok=r818skip1(C,'\54'); } /*IF*/if (!(r818skip2(C,'\76','\76'))) { r818fcp(C,((T0*)ms72_818)); } /*FI*/{T436*n=malloc(sizeof(*n)); *n=M436; r436make(n,_sp,_list); C->_last_expression=(T0*)n; } } else { R=r818a_e0(C); } /*FI*/return R; } void r818a_formal_arg_list(T818* C){ int _state=0; T0* _list=NULL; T0* _declaration=NULL; T0* _name_list=NULL; T0* _name=NULL; T0* _sp=NULL; C->_arguments=NULL; while (!((_state)>(5))) { {int z1=_state; if((0==z1)){ /*IF*/if (r818skip1(C,'\50')) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } _state=1; } else { _state=6; } /*FI*/} else if((1==z1)){ /*IF*/if (r818a_identifier(C)) { _name=r511to_argument_name1(((T511*)(oBC818tmp_name))); _state=2; } else if (r818skip1(C,'\51')) { _state=6; } else { _state=7; } /*FI*/} else if((2==z1)){ /*IF*/if (r818skip1(C,'\72')) { /*IF*/if ((_name_list)!=((void*)(NULL))) { r65add_last(((T65*)_name_list),_name); _name=NULL; } /*FI*/_state=4; } else { C->_ok=r818skip1(C,'\54'); /*IF*/if ((_name_list)==((void*)(NULL))) { _name_list=se_ma65(1,_name); } else { r65add_last(((T65*)_name_list),_name); } /*FI*/_name=NULL; _state=3; } /*FI*/} else if((3==z1)){ /*IF*/if (r818a_identifier(C)) { _name=r511to_argument_name1(((T511*)(oBC818tmp_name))); _state=2; } else if ((((((T818*)C))->_cc/*24*/)==('\54'))||(((((T818*)C))->_cc/*24*/)==('\73'))) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms151_818); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=(r818skip1(C,'\54'))||(r818skip1(C,'\73')); } else { _state=7; } /*FI*/} else if((4==z1)){ /*IF*/if (r818a_type(C)) { /*IF*/if ((_name_list)!=((void*)(NULL))) { {T64*n=malloc(sizeof(*n)); *n=M64; r64make(n,_name_list,(((T818*)C))->_last_type/*157*/); _declaration=(T0*)n; } _name_list=NULL; } else { {T723*n=malloc(sizeof(*n)); *n=M723; r723make(n,_name,(((T818*)C))->_last_type/*157*/); _declaration=(T0*)n; } _name=NULL; } /*FI*//*IF*/if ((_list)==((void*)(NULL))) { _list=se_ma382(1,_declaration); } else { r382add_last(((T382*)_list),_declaration); } /*FI*/_declaration=NULL; _state=5; } else { _state=7; } /*FI*/} else{/*IF*/if (r818skip1(C,'\51')) { _state=6; } else if (((((T818*)C))->_cc/*24*/)==('\54')) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms13_818); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=r818skip1(C,'\54'); _state=1; } else { C->_ok=r818skip1(C,'\73'); _state=1; } /*FI*/}} } /*IF*/if ((_state)==(7)) { r818fcp(C,((T0*)ms14_818)); } else if (((_sp)!=((void*)(NULL)))&&((_list)==((void*)(NULL)))) { r818warning(_sp,((T0*)ms15_818)); } else if ((_sp)!=((void*)(NULL))) { {T31*n=malloc(sizeof(*n)); *n=M31; r31make(n,_sp,_list); C->_arguments=(T0*)n; } /*[IRF3.3set_arguments*/((((T505*)(((T505*)(oBC818tmp_feature)))))->_arguments)=((((T818*)C))->_arguments/*45*/); /*]*/ } /*FI*/} /*No:EIFFEL_PARSER.fz_end*/ /*No:EIFFEL_PARSER.fz_else*/ /*No:EIFFEL_PARSER.last_class_name*/ int r818a_type_formal_generic(T818* C){ int R=0; int _rank=0; T0* _cn=NULL; T0* _fga=NULL; /*IF*/if (((((T818*)C))->_formal_generic_list/*33*/)!=((void*)(NULL))) { _rank=1; while (!((R)||((_rank)>(/*(IRF4.6count*/(((T681*)((T681*)((((T881*)((T881*)((((T818*)C))->_formal_generic_list/*33*/))))->_list/*4*/))))->_upper/*8*//*)*/)))) { _fga=/*(IRF4.6item*/r681item(((T681*)((((T881*)((T881*)((((T818*)C))->_formal_generic_list/*33*/))))->_list/*4*/)),_rank)/*)*/; /*IF*/if (r818a_keyword(C,(((T451*)((T451*)((((T59*)((T59*)_fga)))->_name/*0*/))))->_to_string/*0*/)) { {T451*n=malloc(sizeof(*n)); *n=M451; r451make(n,(((T451*)((T451*)((((T59*)((T59*)_fga)))->_name/*0*/))))->_to_string/*0*/,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/)); _cn=(T0*)n; } {T283*n=malloc(sizeof(*n)); *n=M283; r283make(n,_cn,_rank); C->_last_type_formal_generic=(T0*)n; } R=1; } /*FI*/_rank=(_rank)+(1); } } /*FI*/return R; } /*No:EIFFEL_PARSER.last_infix*/ int r818a_feature_name(T818* C){ int R=0; /*IF*/if (r818a_prefix(C)) { C->_last_feature_name=(((T818*)C))->_last_prefix/*125*/; R=1; } else if (r818a_infix(C)) { C->_last_feature_name=(((T818*)C))->_last_infix/*121*/; R=1; } else if (r818a_identifier(C)) { C->_last_feature_name=r511to_simple_feature_name(((T511*)(oBC818tmp_name))); R=1; } /*FI*/return R; } /*No:EIFFEL_PARSER.us_and*/ void r818a_feature_clause(T818* C){ T0* _comment=NULL; T0* _clients=NULL; T0* _feature_clause=NULL; _clients=r818a_clients(C); _comment=r818get_comments(C); /*[IRF3.3clear*/((((T352*)(((T352*)(oBC818faof)))))->_upper)=(-(1)); /*]*/ while (!(!(r818a_feature_declaration(C)))) { C->_ok=r818skip1(C,'\73'); /*IF*/if (((((T818*)C))->_last_feature_declaration/*101*/)!=((void*)(NULL))) { r352add_last(((T352*)(oBC818faof)),(((T818*)C))->_last_feature_declaration/*101*/); X359set_header_comment((((T818*)C))->_last_feature_declaration/*101*/,r818get_comments(C)); } /*FI*/} /*IF*/if (((((T352*)((T352*)(oBC818faof))))->_upper/*8*/)>=(0)) { {T153*n=malloc(sizeof(*n)); *n=M153; r153make(n,_clients,_comment,r352twin(((T352*)(oBC818faof)))); _feature_clause=(T0*)n; } r605add_feature_clause(((T605*)((((T818*)C))->_last_base_class/*65*/)),_feature_clause); } else if ((_comment)!=((void*)(NULL))) { {T153*n=malloc(sizeof(*n)); *n=M153; r153make(n,_clients,_comment,NULL); _feature_clause=(T0*)n; } r605add_feature_clause(((T605*)((((T818*)C))->_last_base_class/*65*/)),_feature_clause); } /*FI*/C->_last_keyword=NULL; } /*No:EIFFEL_PARSER.in_rescue*/ /*No:EIFFEL_PARSER.us_and_then*/ int r818a_manifest_constant(T818* C){ int R=0; /*IF*/if (r818a_boolean_constant(C)) { C->_last_manifest_constant=(((T818*)C))->_last_boolean_constant/*81*/; R=1; } else if (r818a_character_constant(C)) { C->_last_manifest_constant=(((T818*)C))->_last_character_constant/*85*/; R=1; } else if (r818a_manifest_string(C)) { C->_last_manifest_constant=(((T818*)C))->_last_manifest_string/*145*/; R=1; } else if (r818a_bit_constant(C)) { C->_last_manifest_constant=(((T818*)C))->_last_bit_constant/*77*/; R=1; } else if (r818a_real_constant(C)) { C->_last_manifest_constant=(((T818*)C))->_last_real_constant/*153*/; R=1; } else if (r818a_integer_constant(C)) { C->_last_manifest_constant=(((T818*)C))->_last_integer_constant/*129*/; R=1; } /*FI*/return R; } /*No:EIFFEL_PARSER.last_instruction*/ int r818a_bit_constant(T818* C){ int R=0; int _state=0; int _c=0; int _l=0; /*IF*/if ((((((T818*)C))->_cc/*24*/)==('0'))||(((((T818*)C))->_cc/*24*/)==('1'))) { _l=(((T818*)C))->_line/*16*/; _c=(((T818*)C))->_column/*12*/; /*[IRF3.3clear*/((((T7*)(((T7*)(oBC818tmp_string)))))->_count)=(0); /*]*/ r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/); while (!((_state)>(0))) { r818next_char(C); {int z1=(((T818*)C))->_cc/*24*/; if(((48<=z1)&&(z1<=49))){ r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/); } else if((66==z1)||(98==z1)){ {T940*n=malloc(sizeof(*n)); *n=M940; r940make(n,r818pos(_l,_c),r7twin(((T7*)(oBC818tmp_string)))); C->_last_bit_constant=(T0*)n; } r818next_char(C); r818skip_comments(C); _state=1; R=1; } else{r818go_back_at(C,_l,_c); _state=2; }} } } /*FI*/return R; } T0*oBC818faof=NULL; /*No:EIFFEL_PARSER.fz_jvm_invokestatic*/ int r818a_index_clause(T818* C){ int R=0; T0* _index_clause=NULL; /*IF*/if (r818a_identifier(C)) { R=1; /*IF*/if (r818skip1(C,'\72')) { {T782*n=malloc(sizeof(*n)); *n=M782; /*[IRF3.3make*/((((T782*)(n)))->_index)=(r511to_string(((T511*)(oBC818tmp_name)))); /*]*/ _index_clause=(T0*)n; } /*IF*/if (r818a_index_value(C)) { r782add_index_value(((T782*)_index_clause),(((T818*)C))->_last_index_value/*137*/); } else { r818fcp(C,((T0*)ms141_818)); } /*FI*/} else { {T782*n=malloc(sizeof(*n)); *n=M782; /*[IRF3.3make*/((((T782*)(n)))->_index)=(NULL); /*]*/ _index_clause=(T0*)n; } r782add_index_value(((T782*)_index_clause),r511to_simple_feature_name(((T511*)(oBC818tmp_name)))); } /*FI*/} else if (r818a_manifest_constant(C)) { R=1; {T782*n=malloc(sizeof(*n)); *n=M782; /*[IRF3.3make*/((((T782*)(n)))->_index)=(NULL); /*]*/ _index_clause=(T0*)n; } r782add_index_value(((T782*)_index_clause),(((T818*)C))->_last_manifest_constant/*141*/); } /*FI*//*IF*/if (R) { while (!(!(r818skip1(C,'\54')))) { /*IF*/if (r818a_index_value(C)) { r782add_index_value(((T782*)_index_clause),(((T818*)C))->_last_index_value/*137*/); } else { r818fcp(C,((T0*)ms141_818)); } /*FI*/} r605add_index_clause(((T605*)((((T818*)C))->_last_base_class/*65*/)),_index_clause); } /*FI*/return R; } /*No:EIFFEL_PARSER.line*/ /*No:EIFFEL_PARSER.make*/ /*No:EIFFEL_PARSER.last_index_value*/ /*No:EIFFEL_PARSER.show_nb_warnings*/ /*No:EIFFEL_PARSER.fz_rescue*/ int r818a_infix(T818* C){ int R=0; T0* _sp=NULL; /*IF*/if (r818a_keyword(C,((T0*)ms23_470))) { R=1; {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (((((T818*)C))->_cc/*24*/)==('\42')) { r818next_char(C); } else { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms96_818); r818warning(r818current_position(C1),b1); }/*]*/ } /*FI*//*IF*/if (r818a_binary(C,_sp)) { C->_last_infix=(((T818*)C))->_last_binary/*73*/; } else if (r818a_free_operator(C)) { C->_last_infix=r511to_infix_name(_sp); } else { r818fcp(C,((T0*)ms97_818)); } /*FI*//*IF*/if (!(r818skip1(C,'\42'))) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms98_818); r818warning(r818current_position(C1),b1); }/*]*/ } /*FI*/} /*FI*/return R; } T0* r818a_actuals(T818* C){ T0* R=NULL; T0* _args=NULL; /*IF*/if (r818skip1(C,'\50')) { while (!(!(r818a_actual(C)))) { /*IF*/if ((_args)==((void*)(NULL))) { _args=se_ma96(1,(((T818*)C))->_last_expression/*97*/); } else { X96add_last(_args,(((T818*)C))->_last_expression/*97*/); } /*FI*//*IF*/if ((!(r818skip1(C,'\54')))&&(((((T818*)C))->_cc/*24*/)!=('\51'))) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms143_818); r818warning(r818current_position(C1),b1); }/*]*/ } /*FI*/} /*IF*/if ((_args)==((void*)(NULL))) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms31_818); r818warning(r818current_position(C1),b1); }/*]*/ } else { {T431*n=malloc(sizeof(*n)); *n=M431; /*[IRF3.3make*/((((T431*)(n)))->_list)=(_args); /*]*/ R=(T0*)n; } } /*FI*//*IF*/if (!(r818skip1(C,'\51'))) { r818fcp(C,((T0*)ms32_818)); } /*FI*/} /*FI*/return R; } /*No:EIFFEL_PARSER.us_pointer*/ /*No:EIFFEL_PARSER.fz_iinaiv*/ int r818a_actual(T818* C){ int R=0; /*IF*/if (r818skip1(C,'\44')) { /*IF*/if (r818a_identifier(C)) { /*IF*/if (((r818a_result(C))||(r818a_void(C)))||(r818a_current(C))) { r683add_position(X662start_position((((T818*)C))->_last_expression/*97*/)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms155_818); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } else { {T708*n=malloc(sizeof(*n)); *n=M708; /*[IRF3.3make*/((((T708*)(n)))->_feature_name)=(r511to_simple_feature_name(((T511*)(oBC818tmp_name)))); /*]*/ C->_last_expression=(T0*)n; } R=1; } /*FI*/} else { r818fcp(C,((T0*)ms155_818)); } /*FI*/} else if (r818a_expression(C)) { R=1; } /*FI*/return R; } /*No:EIFFEL_PARSER.us_string*/ /*No:EIFFEL_PARSER.local_vars*/ void r818a_base_class_name1(T818* C){ T0* _ccn=NULL; int _do_warning=0; int _state=0; _ccn=(((T605*)((T605*)((((T818*)C))->_last_base_class/*65*/))))->_base_class_name/*24*/; /*IF*/if (r3is_letter((((T818*)C))->_cc/*24*/)) { r627set_line_column(((T627*)((((T451*)((T451*)_ccn)))->_start_position/*4*/)),(((T818*)C))->_line/*16*/,(((T818*)C))->_column/*12*/); r511initialize(((T511*)(oBC818tmp_name)),(((T818*)C))->_line/*16*/,(((T818*)C))->_column/*12*/); /*IF*/if ((((unsigned)((((T818*)C))->_cc/*24*/))>=((unsigned)('a')))) { _do_warning=1; C->_cc=r3to_upper((((T818*)C))->_cc/*24*/); } /*FI*//*[IRF3.6extend*/{char b1=(((T818*)C))->_cc/*24*/; r7extend(((T7*)(oBC511tmp_string)),b1); }/*]*/ while (!((_state)>(0))) { r818next_char(C); {int z1=(((T818*)C))->_cc/*24*/; if(((48<=z1)&&(z1<=57))||((65<=z1)&&(z1<=90))||(95==z1)){ /*[IRF3.6extend*/{char b1=(((T818*)C))->_cc/*24*/; r7extend(((T7*)(oBC511tmp_string)),b1); }/*]*/ } else if(((97<=z1)&&(z1<=122))){ _do_warning=1; /*[IRF3.6extend*/{char b1=r3to_upper((((T818*)C))->_cc/*24*/); r7extend(((T7*)(oBC511tmp_string)),b1); }/*]*/ } else{_state=1; }} } r818skip_comments(C); /*IF*/if (r511isa_keyword()) { r683add_position((((T451*)((T451*)_ccn)))->_start_position/*4*/); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms154_818); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*//*IF*/if (_do_warning) { r818warning((((T451*)((T451*)_ccn)))->_start_position/*4*/,((T0*)ms153_818)); } /*FI*/r451identify(((T451*)_ccn),r511to_string(((T511*)(oBC818tmp_name)))); } else { r818fcp(C,((T0*)ms154_818)); } /*FI*//*IF*/if (r52fast_has(((T52*)(oBC818forbidden_class)),(((T451*)((T451*)_ccn)))->_to_string/*0*/)) { r683add_position((((T451*)((T451*)_ccn)))->_start_position/*4*/); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms25_818); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/} int r818a_strip(T818* C){ int R=0; T0* _sp=NULL; /*IF*/if (r818a_keyword(C,((T0*)ms45_470))) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818skip1(C,'\50')) { C->_ok=r818a_feature_list(C); {T420*n=malloc(sizeof(*n)); *n=M420; r420make(n,_sp,(((T818*)C))->_last_feature_list/*105*/); C->_last_expression=(T0*)n; } /*IF*/if (!(r818skip1(C,'\51'))) { r818fcp(C,((T0*)ms123_818)); } /*FI*/R=1; } else { r818fcp(C,((T0*)ms124_818)); } /*FI*/} /*FI*/return R; } /*No:EIFFEL_PARSER.fz_external*/ T0* r818a_compound1(T818* C,T0* a1){ T0* R=NULL; T0* _instruction=NULL; T0* _list=NULL; T0* _hc=NULL; _hc=r818get_comments(C); while (!(((((T818*)C))->_cc/*24*/)!=('\73'))) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms68_470); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=r818skip1(C,'\73'); } while (!((!(r818a_instruction(C)))||((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)>(0)))) { _instruction=(((T818*)C))->_last_instruction/*133*/; /*IF*/if (((((T818*)C))->_cc/*24*/)==('\50')) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms144_818); r818warning(r818current_position(C1),b1); }/*]*/ } /*FI*/C->_ok=r818skip1(C,'\73'); while (!(((((T818*)C))->_cc/*24*/)!=('\73'))) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms68_470); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=r818skip1(C,'\73'); } /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*/if ((_list)==((void*)(NULL))) { _list=se_ma419(1,X465add_comment(_instruction,r818get_comments(C))); } else { r419add_last(((T419*)_list),X465add_comment(_instruction,r818get_comments(C))); } /*FI*/} /*FI*/} /*IF*/if (((_hc)!=((void*)(NULL)))||((_list)!=((void*)(NULL)))) { {T592*n=malloc(sizeof(*n)); *n=M592; r592make(n,_hc,_list); R=(T0*)n; } } /*FI*/return R; } /*No:EIFFEL_PARSER.fz_prefix*/ /*No:EIFFEL_PARSER.fz_all*/ /*No:EIFFEL_PARSER.column*/ int r818a_loop(T818* C){ int R=0; T0* _al=NULL; T0* _hc=NULL; T0* _lb=NULL; T0* _ue=NULL; T0* _vc=NULL; T0* _ic=NULL; T0* _i=NULL; T0* _e_loop=NULL; int _c2=0; int _l2=0; int _c1=0; int _l1=0; /*IF*/if (r818a_keyword(C,((T0*)ms19_470))) { R=1; _l1=(((T818*)C))->_start_line/*169*/; _c1=(((T818*)C))->_start_column/*165*/; _i=r818a_compound1(C,((T0*)ms102_818)); /*IF*/if (r818a_keyword(C,((T0*)ms26_470))) { _l2=(((T818*)C))->_start_line/*169*/; _c2=(((T818*)C))->_start_column/*165*/; _hc=r818get_comments(C); _al=r818a_assertion(C); /*IF*/if (((_hc)!=((void*)(NULL)))||((_al)!=((void*)(NULL)))) { {T213*n=malloc(sizeof(*n)); *n=M213; r213make(n,r818pos(_l2,_c2),_hc,_al); _ic=(T0*)n; } } /*FI*/} /*FI*//*IF*/if (r818a_keyword(C,((T0*)ms51_470))) { /*IF*/if ((r818a_tag_mark(C))&&(r818a_expression(C))) { {T158*n=malloc(sizeof(*n)); *n=M158; r158make(n,(((T818*)C))->_last_tag_mark/*161*/,(((T818*)C))->_last_expression/*97*/,r818get_comments(C)); _vc=(T0*)n; } } else if (r818a_expression(C)) { {T145*n=malloc(sizeof(*n)); *n=M145; r145make(n,(((T818*)C))->_last_expression/*97*/,r818get_comments(C)); _vc=(T0*)n; } } else { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms103_818); r818warning(r818current_position(C1),b1); }/*]*/ } /*FI*/} /*FI*//*IF*/if (r818a_keyword(C,((T0*)ms50_470))) { /*IF*/if (r818a_expression(C)) { _ue=X662add_comment((((T818*)C))->_last_expression/*97*/,r818get_comments(C)); } else { r818fcp(C,((T0*)ms104_818)); _ue=(((T818*)C))->_last_expression/*97*/; } /*FI*/} else { r818fcp(C,((T0*)ms105_818)); _ue=(((T818*)C))->_last_expression/*97*/; } /*FI*//*IF*/if (((((T818*)C))->_cc/*24*/)==('\73')) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms68_470); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=r818skip1(C,'\73'); } /*FI*//*IF*/if (!(r818a_keyword(C,((T0*)ms32_470)))) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms106_818); r818warning(r818current_position(C1),b1); }/*]*/ } /*FI*/_lb=r818a_compound2(C,((T0*)ms107_818),((T0*)ms12_470)); {T880*n=malloc(sizeof(*n)); *n=M880; r880make(n,r818pos(_l1,_c1),_i,_ic,_vc,_ue,_lb); _e_loop=(T0*)n; } C->_last_instruction=_e_loop; } /*FI*/return R; } /*No:EIFFEL_PARSER.fz_feature*/ /*No:EIFFEL_PARSER.fz_true*/ int r818a_local_variable(T818* C){ int R=0; int _rank=0; /*IF*/if (((((T818*)C))->_local_vars/*49*/)!=((void*)(NULL))) { _rank=r620rank_of(((T620*)((((T818*)C))->_local_vars/*49*/)),r511to_string(((T511*)(oBC818tmp_name)))); /*IF*/if ((_rank)>(0)) { C->_last_expression=r511to_local_name2(((T511*)(oBC818tmp_name)),(((T818*)C))->_local_vars/*49*/,_rank); R=1; } /*FI*/} /*FI*/return R; } /*No:EIFFEL_PARSER.start_column*/ /*No:EIFFEL_PARSER.us_ge*/ /*No:EIFFEL_PARSER.us_neq*/ int r818skip1unless2(T818* C,char a1,char a2){ int R=0; C->_start_line=(((T818*)C))->_line/*16*/; C->_start_column=(((T818*)C))->_column/*12*/; /*IF*/if (((((T818*)C))->_cc/*24*/)==(a1)) { r818next_char(C); /*IF*/if (((((T818*)C))->_cc/*24*/)==(a2)) { r818prev_char(C); } else { R=1; r818skip_comments(C); } /*FI*/} /*FI*/return R; } /*No:EIFFEL_PARSER.fz_if*/ T0* r818a_compound2(T818* C,T0* a1,T0* a2){ T0* R=NULL; T0* _instruction=NULL; T0* _list=NULL; T0* _hc=NULL; _hc=r818get_comments(C); while (!(((((T818*)C))->_cc/*24*/)!=('\73'))) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms68_470); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=r818skip1(C,'\73'); } while (!((!(r818a_instruction(C)))||((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)>(0)))) { _instruction=(((T818*)C))->_last_instruction/*133*/; /*IF*/if (((((T818*)C))->_cc/*24*/)==('\50')) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms144_818); r818warning(r818current_position(C1),b1); }/*]*/ } /*FI*/C->_ok=r818skip1(C,'\73'); while (!(((((T818*)C))->_cc/*24*/)!=('\73'))) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms68_470); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=r818skip1(C,'\73'); } /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*/if ((_list)==((void*)(NULL))) { _list=se_ma419(1,X465add_comment(_instruction,r818get_comments(C))); } else { r419add_last(((T419*)_list),X465add_comment(_instruction,r818get_comments(C))); } /*FI*/} /*FI*/} /*IF*/if (!(r818a_keyword(C,a2))) { /*[IRF3.6append*/{T0* b1=((T0*)ms57_818); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=a1; r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=((T0*)ms58_818); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=a2; r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r818fcp(C,((T0*)ms59_818)); } /*FI*//*IF*/if (((_hc)!=((void*)(NULL)))||((_list)!=((void*)(NULL)))) { {T592*n=malloc(sizeof(*n)); *n=M592; r592make(n,_hc,_list); R=(T0*)n; } } /*FI*/return R; } int r818a_rename_pair(T818* C){ int R=0; T0* _rename_pair=NULL; T0* _name1=NULL; /*IF*/if (r818a_feature_name(C)) { _name1=(((T818*)C))->_last_feature_name/*109*/; /*IF*/if (r818a_keyword(C,((T0*)ms3_470))) { /*IF*/if (r818a_feature_name(C)) { R=1; {T498*n=malloc(sizeof(*n)); *n=M498; r498make(n,_name1,(((T818*)C))->_last_feature_name/*109*/); _rename_pair=(T0*)n; } r877add_rename(((T877*)((((T818*)C))->_last_parent/*149*/)),_rename_pair); } else { r818fcp(C,((T0*)ms113_818)); } /*FI*/} else { /*[IRF3.6go_back*/{T818* C1=C; T0* b1=X776start_position(_name1); r818go_back_at(C1,/*(IRF4.6line*/((((T627*)((T627*)b1)))->_mem_line_column/*4*/)/(1000)/*)*/,/*(IRF4.6column*/((((T627*)((T627*)b1)))->_mem_line_column/*4*/)%(1000)/*)*/); }/*]*/ } /*FI*/} /*FI*/return R; } /*No:EIFFEL_PARSER.us_slash*/ /*No:EIFFEL_PARSER.fz_alias*/ /*No:EIFFEL_PARSER.fz_debug*/ int r818a_keyword(T818* C,T0* a1){ int R=0; int _keyword_count=0; int _i=0; _keyword_count=(((T7*)((T7*)a1)))->_count/*4*/; C->_start_line=(((T818*)C))->_line/*16*/; C->_start_column=(((T818*)C))->_column/*12*/; while (!(((_i)==(_keyword_count))||(!(r3same_as((((T818*)C))->_cc/*24*/,/*(IRF4.6item*/((((T7*)((T7*)a1)))->_storage/*0*/)[((_i)+(1))-(1)]/*)*/))))) { _i=(_i)+(1); r818next_char(C); } /*IF*/if ((_i)==(_keyword_count)) { {int z1=(((T818*)C))->_cc/*24*/; if(((9<=z1)&&(z1<=10))||(32==z1)||(45==z1)){ R=1; C->_last_keyword=a1; r818skip_comments(C); } else if(((48<=z1)&&(z1<=57))||((65<=z1)&&(z1<=90))||(95==z1)||((97<=z1)&&(z1<=122))){ while (!((_i)==(0))) { r818prev_char(C); _i=(_i)-(1); } } else{R=1; C->_last_keyword=a1; }} } else { while (!((_i)==(0))) { r818prev_char(C); _i=(_i)-(1); } } /*FI*/return R; } /*No:EIFFEL_PARSER.us_character*/ /*No:EIFFEL_PARSER.us_le*/ /*No:EIFFEL_PARSER.fz_from*/ /*No:EIFFEL_PARSER.last_keyword*/ /*No:EIFFEL_PARSER.fz_unique*/ /*No:EIFFEL_PARSER.fz_loop*/ /*No:EIFFEL_PARSER.em1*/ /*No:EIFFEL_PARSER.fz_do*/ int r818a_unary(T818* C){ int R=0; /*IF*/if (r818a_keyword(C,((T0*)ms40_473))) { {T406*n=malloc(sizeof(*n)); *n=M406; r406make(n,((T0*)ms40_473),r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/)); C->_last_prefix=(T0*)n; } R=1; } else if (r818skip1(C,'\53')) { {T406*n=malloc(sizeof(*n)); *n=M406; r406make(n,((T0*)ms43_473),r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/)); C->_last_prefix=(T0*)n; } R=1; } else if (r818skip1(C,'\55')) { {T406*n=malloc(sizeof(*n)); *n=M406; r406make(n,((T0*)ms37_473),r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/)); C->_last_prefix=(T0*)n; } R=1; } /*FI*/return R; } /*No:EIFFEL_PARSER.em2*/ /*No:EIFFEL_PARSER.last_feature_declaration*/ /*No:EIFFEL_PARSER.em3*/ /*No:EIFFEL_PARSER.fz_c_inlinewithoutcurrent*/ /*No:EIFFEL_PARSER.fz_obsolete*/ /*No:EIFFEL_PARSER.em4*/ /*No:EIFFEL_PARSER.fz_se*/ void r818go_back_at(T818* C,int a1,int a2){ C->_line=a1; C->_column=a2; C->_current_line=r676item((((T818*)C))->_line/*16*/); /*IF*/if (((((T818*)C))->_column/*12*/)==(((((T7*)((T7*)((((T818*)C))->_current_line/*20*/))))->_count/*4*/)+(1))) { C->_cc='\n'; } else if (((((T818*)C))->_column/*12*/)==(0)) { C->_cc='\0'; } else { C->_cc=/*(IRF4.6item*/((((T7*)((T7*)((((T818*)C))->_current_line/*20*/))))->_storage/*0*/)[((((T818*)C))->_column/*12*/)-(1)]/*)*/; } /*FI*/} void r818a_ascii_code(T818* C){ int _counter=0; r818next_char(C); _counter=0; C->_last_ascii_code=0; while (!(((_counter)>(3))||(((((T818*)C))->_cc/*24*/)==('\57')))) { {int z1=(((T818*)C))->_cc/*24*/; if(((48<=z1)&&(z1<=57))){ C->_last_ascii_code=(((((T818*)C))->_last_ascii_code/*61*/)*(10))+(r3value((((T818*)C))->_cc/*24*/)); } else{r818fcp(C,((T0*)ms21_818)); }} _counter=(_counter)+(1); r818next_char(C); } /*IF*/if ((_counter)==(0)) { r818fcp(C,((T0*)ms22_818)); } else if ((_counter)>(3)) { r818fcp(C,((T0*)ms23_818)); } else { } /*FI*/} /*No:EIFFEL_PARSER.fz_as*/ /*No:EIFFEL_PARSER.em5*/ /*No:EIFFEL_PARSER.fz_false*/ /*No:EIFFEL_PARSER.us_bit*/ /*No:EIFFEL_PARSER.em6*/ int r818end_of_input(T818* C){ int R=0; R=((((T818*)C))->_cc/*24*/)==('\0'); return R; } int r818a_current(T818* C){ int R=0; /*IF*/if (r511is_current()) { C->_last_expression=r511to_e_current(((T511*)(oBC818tmp_name))); R=1; } /*FI*/return R; } void r818a_parent_list(T818* C,T0* a1,T0* a2){ T0* _list=NULL; while (!(!(r818a_parent(C)))) { /*IF*/if ((_list)==((void*)(NULL))) { _list=se_ma26(1,(((T818*)C))->_last_parent/*149*/); } else { r26add_last(((T26*)_list),(((T818*)C))->_last_parent/*149*/); } /*FI*/C->_ok=r818skip1(C,'\73'); /*[IRF3.3set_comment*/((((T877*)(((T877*)((((T818*)C))->_last_parent/*149*/)))))->_comment)=(r818get_comments(C)); /*]*/ } /*IF*/if (((a2)!=((void*)(NULL)))||((_list)!=((void*)(NULL)))) { /*IF*/if ((_list)==((void*)(NULL))) { /*IF*/if (((((T605*)((T605*)((((T818*)C))->_last_base_class/*65*/))))->_heading_comment2/*32*/)==((void*)(NULL))) { /*[IRF3.3set_heading_comment2*/((((T605*)(((T605*)((((T818*)C))->_last_base_class/*65*/)))))->_heading_comment2)=(a2); /*]*/ } else { r393append(((T393*)((((T605*)((T605*)((((T818*)C))->_last_base_class/*65*/))))->_heading_comment2/*32*/)),a2); } /*FI*/} else { r605set_parent_list(((T605*)((((T818*)C))->_last_base_class/*65*/)),a1,a2,_list); } /*FI*/} /*FI*/} /*No:EIFFEL_PARSER.em7*/ /*No:EIFFEL_PARSER.fz_jvm_invokevirtual*/ void r818a_select_list(T818* C){ /*IF*/if (r818a_feature_list(C)) { r877set_select(((T877*)((((T818*)C))->_last_parent/*149*/)),(((T818*)C))->_last_feature_list/*105*/); } /*FI*/} void r818err_exp(T0* a1,T0* a2){ T0* _msg=NULL; {T7*n=malloc(sizeof(*n)); *n=M7; r7make(n,0); _msg=(T0*)n; } r7append(((T7*)_msg),((T0*)ms11_818)); r7append(((T7*)_msg),a2); r7append(((T7*)_msg),((T0*)ms12_818)); r683add_position(a1); /*[IRF3.6fatal_error*/{T0* b1=_msg; r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*No:EIFFEL_PARSER.em8*/ /*No:EIFFEL_PARSER.last_boolean_constant*/ /*No:EIFFEL_PARSER.em9*/ T0* r818current_position(T818* C){ T0* R=NULL; {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_line/*16*/,(((T818*)C))->_column/*12*/); R=(T0*)n; } return R; } /*No:EIFFEL_PARSER.last_tag_mark*/ /*No:EIFFEL_PARSER.us_boolean*/ /*No:EIFFEL_PARSER.last_feature_name*/ /*No:EIFFEL_PARSER.us_eq*/ int r818a_free_operator(T818* C){ int R=0; /*IF*/if ((((((((T818*)C))->_cc/*24*/)==('\100'))||(((((T818*)C))->_cc/*24*/)==('\43')))||(((((T818*)C))->_cc/*24*/)==('\174')))||(((((T818*)C))->_cc/*24*/)==('\46'))) { R=1; r511initialize(((T511*)(oBC818tmp_name)),(((T818*)C))->_line/*16*/,(((T818*)C))->_column/*12*/); /*[IRF3.6extend*/{char b1=(((T818*)C))->_cc/*24*/; r7extend(((T7*)(oBC511tmp_string)),b1); }/*]*/ r818next_char(C); while (!((((((((T818*)C))->_cc/*24*/)==('\n'))||(((((T818*)C))->_cc/*24*/)==('\40')))||(((((T818*)C))->_cc/*24*/)==('\11')))||(((((T818*)C))->_cc/*24*/)==('\42')))) { /*[IRF3.6extend*/{char b1=(((T818*)C))->_cc/*24*/; r7extend(((T7*)(oBC511tmp_string)),b1); }/*]*/ r818next_char(C); } r818skip_comments(C); } /*FI*/return R; } /*No:EIFFEL_PARSER.function_type*/ int r818a_then_part(T818* C,T0* a1){ int R=0; T0* _expression=NULL; /*IF*/if (r818a_expression(C)) { R=1; _expression=X662add_comment((((T818*)C))->_last_expression/*97*/,r818get_comments(C)); /*IF*/if (!(r818a_keyword(C,((T0*)ms46_470)))) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms127_818); r818warning(r818current_position(C1),b1); }/*]*/ } /*FI*/r530add_if_then(((T530*)a1),_expression,r818a_compound1(C,((T0*)ms128_818))); } /*FI*/return R; } /*No:EIFFEL_PARSER.us_xor*/ /*No:EIFFEL_PARSER.last_integer_constant*/ /*No:EIFFEL_PARSER.in_ensure*/ /*No:EIFFEL_PARSER.fz_frozen*/ /*No:EIFFEL_PARSER.ms_numbering*/ T0* r818a_clients(T818* C){ T0* R=NULL; int _state=0; T0* _list=NULL; T0* _sp=NULL; /*IF*/if (r818skip1(C,'\173')) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } while (!((_state)>(3))) { {int z1=_state; if((0==z1)){ /*IF*/if (r818a_base_class_name(C)) { _list=se_ma901(1,(((T818*)C))->_last_class_name/*89*/); _state=2; } else if (r818skip1(C,'\175')) { _state=4; } else if (((((T818*)C))->_cc/*24*/)==('\54')) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms145_818); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=r818skip1(C,'\54'); } else { _state=3; } /*FI*/} else if((1==z1)){ /*IF*/if (r818a_base_class_name(C)) { r901add_last(((T901*)_list),(((T818*)C))->_last_class_name/*89*/); _state=2; } else if (((((T818*)C))->_cc/*24*/)==('\54')) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms145_818); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=r818skip1(C,'\54'); } else if (((((T818*)C))->_cc/*24*/)==('\175')) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms56_818); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=r818skip1(C,'\175'); _state=4; } else { _state=3; } /*FI*/} else if((2==z1)){ /*IF*/if (r818skip1(C,'\54')) { _state=1; } else if (r818skip1(C,'\175')) { _state=4; } else if (r818a_base_class_name(C)) { r818warning((((T451*)((T451*)((((T818*)C))->_last_class_name/*89*/))))->_start_position/*4*/,((T0*)ms143_818)); r901add_last(((T901*)_list),(((T818*)C))->_last_class_name/*89*/); } else { _state=3; } /*FI*/} else{r818fcp(C,((T0*)ms149_818)); _state=4; }} } {T636*n=malloc(sizeof(*n)); *n=M636; r636make(n,_sp,_list); R=(T0*)n; } } else { {T636*n=malloc(sizeof(*n)); *n=M636; /*[IRF3.1omitted*//*]*/ R=(T0*)n; } } /*FI*/return R; } int r818a_when_part(T818* C,T0* a1){ int R=0; T0* _constant=NULL; T0* _e_when=NULL; int _state=0; /*IF*/if (r818a_keyword(C,((T0*)ms52_470))) { R=1; {T843*n=malloc(sizeof(*n)); *n=M843; r843make(n,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/),r818get_comments(C)); _e_when=(T0*)n; } while (!((_state)>(3))) { {int z1=_state; if((0==z1)){ /*IF*/if (r818a_constant(C)) { _constant=(((T818*)C))->_last_expression/*97*/; _state=1; } else if (r818a_keyword(C,((T0*)ms46_470))) { /*IF*/if ((_constant)!=((void*)(NULL))) { r843add_value(((T843*)_e_when),_constant); } /*FI*//*[IRF3.3set_compound*/((((T843*)(((T843*)_e_when))))->_compound)=(r818a_compound1(C,((T0*)ms132_818))); /*]*/ r270add_when(((T270*)a1),_e_when); _state=4; } else if (((((T818*)C))->_cc/*24*/)==('\54')) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms145_818); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=r818skip1(C,'\54'); } else { r818fcp(C,((T0*)ms142_818)); _state=4; } /*FI*/} else if((1==z1)){ /*IF*/if (r818a_keyword(C,((T0*)ms46_470))) { /*IF*/if ((_constant)!=((void*)(NULL))) { r843add_value(((T843*)_e_when),_constant); } /*FI*//*[IRF3.3set_compound*/((((T843*)(((T843*)_e_when))))->_compound)=(r818a_compound1(C,((T0*)ms133_818))); /*]*/ r270add_when(((T270*)a1),_e_when); _state=4; } else if (r818skip2(C,'\56','\56')) { _state=2; } else if (r818skip1(C,'\54')) { r843add_value(((T843*)_e_when),_constant); _constant=NULL; _state=0; } else { r818fcp(C,((T0*)ms142_818)); _state=4; } /*FI*/} else if((2==z1)){ /*IF*/if (r818a_constant(C)) { r843add_slice(((T843*)_e_when),_constant,(((T818*)C))->_last_expression/*97*/); _constant=NULL; _state=3; } else { r818fcp(C,((T0*)ms142_818)); _state=4; } /*FI*/} else{/*IF*/if (r818skip1(C,'\54')) { _state=0; } else if (r818a_keyword(C,((T0*)ms46_470))) { /*[IRF3.3set_compound*/((((T843*)(((T843*)_e_when))))->_compound)=(r818a_compound1(C,((T0*)ms134_818))); /*]*/ r270add_when(((T270*)a1),_e_when); _state=4; } else if (r818a_constant(C)) { _constant=(((T818*)C))->_last_expression/*97*/; r818warning(r511start_position(((T511*)(oBC818tmp_name))),((T0*)ms143_818)); _state=1; } else { r818fcp(C,((T0*)ms142_818)); _state=4; } /*FI*/}} } } /*FI*/return R; } int r818a_feature_list(T818* C){ int R=0; int _state=0; C->_last_feature_list=NULL; while (!((_state)>=(3))) { {int z1=_state; if((0==z1)){ /*IF*/if (r818a_feature_name(C)) { C->_last_feature_list=se_ma855(1,(((T818*)C))->_last_feature_name/*109*/); R=1; _state=1; } else if (((((T818*)C))->_cc/*24*/)==('\54')) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms145_818); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=r818skip1(C,'\54'); } else { _state=3; } /*FI*/} else if((1==z1)){ /*IF*/if (((((T818*)C))->_cc/*24*/)==('\54')) { C->_ok=r818skip1(C,'\54'); _state=2; } else if (r818a_feature_name(C)) { r818warning(X776start_position((((T818*)C))->_last_feature_name/*109*/),((T0*)ms143_818)); r855add_last(((T855*)((((T818*)C))->_last_feature_list/*105*/)),(((T818*)C))->_last_feature_name/*109*/); } else { _state=3; } /*FI*/} else {/*IF*/if (r818a_feature_name(C)) { r855add_last(((T855*)((((T818*)C))->_last_feature_list/*105*/)),(((T818*)C))->_last_feature_name/*109*/); _state=1; } else if (((((T818*)C))->_cc/*24*/)==('\54')) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms150_818); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=r818skip1(C,'\54'); } else { /*[IRF3.6ecp*/{T818* C1=C; T0* b1=((T0*)ms140_818); r818error(r818current_position(C1),b1); }/*]*/ _state=3; } /*FI*/}} } return R; } int r818a_instruction(T818* C){ int R=0; R=(((((((r818a_check(C))||(r818a_debug(C)))||(r818a_conditional(C)))||(r818a_retry(C)))||(r818a_inspect(C)))||(r818a_loop(C)))||(r818a_creation(C)))||(r818a_assignment_or_call(C)); return R; } /*No:EIFFEL_PARSER.fz_is*/ /*No:EIFFEL_PARSER.fz_ensure*/ /*No:EIFFEL_PARSER.fz_indexing*/ /*No:EIFFEL_PARSER.us_not*/ int r818a_parent(T818* C){ int R=0; /*IF*/if (r818a_class_type(C)) { R=1; {T877*n=malloc(sizeof(*n)); *n=M877; r877make(n,(((T818*)C))->_last_class_type/*93*/); C->_last_parent=(T0*)n; } /*IF*/if (r818a_keyword(C,((T0*)ms39_470))) { r818a_rename_list(C); /*IF*/if (((((T818*)C))->_cc/*24*/)==('\73')) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms108_818); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=r818skip1(C,'\73'); } /*FI*/} /*FI*/r818a_new_export_list(C); /*IF*/if (r818a_keyword(C,((T0*)ms48_470))) { r818a_undefine_list(C); } /*FI*//*IF*/if (r818a_keyword(C,((T0*)ms38_470))) { r818a_redefine_list(C); } /*FI*//*IF*/if (r818a_keyword(C,((T0*)ms43_470))) { r818a_select_list(C); } /*FI*//*IF*/if (((((r818a_keyword(C,((T0*)ms39_470)))||(r818a_keyword(C,((T0*)ms15_470))))||(r818a_keyword(C,((T0*)ms48_470))))||(r818a_keyword(C,((T0*)ms38_470))))||(r818a_keyword(C,((T0*)ms43_470)))) { r683add_position(r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms109_818); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/C->_ok=r818a_keyword(C,((T0*)ms12_470)); } /*FI*/return R; } /*No:EIFFEL_PARSER.us_muls*/ /*No:EIFFEL_PARSER.last_ascii_code*/ /*No:EIFFEL_PARSER.fz_c_inlinewithcurrent*/ int r818a_prefix(T818* C){ int R=0; /*IF*/if (r818a_keyword(C,((T0*)ms37_470))) { R=1; /*IF*/if (((((T818*)C))->_cc/*24*/)==('\42')) { r818next_char(C); } else { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms110_818); r818warning(r818current_position(C1),b1); }/*]*/ } /*FI*//*IF*/if (r818a_unary(C)) { } else if (r818a_free_operator(C)) { C->_last_prefix=r511to_prefix_name(((T511*)(oBC818tmp_name))); } else { r818fcp(C,((T0*)ms111_818)); } /*FI*//*IF*/if (!(r818skip1(C,'\42'))) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms112_818); r818warning(r818current_position(C1),b1); }/*]*/ } /*FI*/} /*FI*/return R; } void r818error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:EIFFEL_PARSER.us_gt*/ /*No:EIFFEL_PARSER.fz_until*/ int r818a_e0(T818* C){ int R=0; R=r818a_e1(C); r818a_r1(C,(((T818*)C))->_last_expression/*97*/); return R; } void r818a_class_declaration(T818* C){ T0* _al=NULL; T0* _hc=NULL; T0* _sp=NULL; r818a_indexing(C); /*IF*/if (r818a_keyword(C,((T0*)ms8_470))) { r605set_is_deferred(((T605*)((((T818*)C))->_last_base_class/*65*/))); } /*FI*//*IF*/if (r818a_keyword(C,((T0*)ms14_470))) { r605set_is_expanded(((T605*)((((T818*)C))->_last_base_class/*65*/))); /*IF*/if (r818a_keyword(C,((T0*)ms8_470))) { r605set_is_deferred(((T605*)((((T818*)C))->_last_base_class/*65*/))); } /*FI*/} /*FI*//*[IRF3.3set_heading_comment1*/((((T605*)(((T605*)((((T818*)C))->_last_base_class/*65*/)))))->_heading_comment1)=(r818get_comments(C)); /*]*/ /*IF*/if (!(r818a_keyword(C,((T0*)ms5_470)))) { r818fcp(C,((T0*)ms50_818)); } /*FI*/r818a_base_class_name1(C); r818a_formal_generic_list(C); /*IF*/if (r818a_keyword(C,((T0*)ms33_470))) { /*IF*/if (r818a_manifest_string(C)) { /*[IRF3.3set_obsolete_type_string*/((((T605*)(((T605*)((((T818*)C))->_last_base_class/*65*/)))))->_obsolete_type_string)=((((T818*)C))->_last_manifest_string/*145*/); /*]*/ } else { r818fcp(C,((T0*)ms51_818)); } /*FI*/} /*FI*//*[IRF3.3set_heading_comment2*/((((T605*)(((T605*)((((T818*)C))->_last_base_class/*65*/)))))->_heading_comment2)=(r818get_comments(C)); /*]*/ /*IF*/if (r818a_keyword(C,((T0*)ms24_470))) { r818a_parent_list(C,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/),r818get_comments(C)); } /*FI*/while (!(!(r818a_keyword(C,((T0*)ms6_470))))) { r818a_creation_clause(C,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/)); } while (!(!(r818a_keyword(C,((T0*)ms18_470))))) { r818a_feature_clause(C); } /*IF*/if (r818a_keyword(C,((T0*)ms26_470))) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } _hc=r818get_comments(C); _al=r818a_assertion(C); r605set_invariant(((T605*)((((T818*)C))->_last_base_class/*65*/)),_sp,_hc,_al); } /*FI*//*IF*/if ((r818a_keyword(C,((T0*)ms12_470)))||(((((T818*)C))->_last_keyword/*113*/)==((void*)(((T0*)ms12_470))))) { /*IF*/if (((((T818*)C))->_cc/*24*/)==('\73')) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms68_470); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=r818skip1(C,'\73'); } /*FI*//*[IRF3.3set_end_comment*/((((T605*)(((T605*)((((T818*)C))->_last_base_class/*65*/)))))->_end_comment)=(r818get_comments(C)); /*]*/ /*IF*/if (((((T818*)C))->_cc/*24*/)!=('\0')) { r818fcp(C,((T0*)ms52_818)); } /*FI*/} else { r818fcp(C,((T0*)ms53_818)); } /*FI*/} int r818skip1(T818* C,char a1){ int R=0; /*IF*/if ((a1)==((((T818*)C))->_cc/*24*/)) { C->_start_line=(((T818*)C))->_line/*16*/; C->_start_column=(((T818*)C))->_column/*12*/; R=1; r818next_char(C); r818skip_comments(C); } /*FI*/return R; } /*No:EIFFEL_PARSER.us_plus*/ void r818a_r1(T818* C,T0* a1){ T0* _sp=NULL; T0* _infix_implies=NULL; /*IF*/if (r818a_keyword(C,((T0*)ms34_473))) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_e1(C)) { {T90*n=malloc(sizeof(*n)); *n=M90; r90make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/); _infix_implies=(T0*)n; } r818a_r1(C,_infix_implies); } else { r818error(_sp,((T0*)ms119_818)); } /*FI*/} else { C->_last_expression=a1; } /*FI*/} int r818a_e1(T818* C){ int R=0; R=r818a_e2(C); r818a_r2(C,(((T818*)C))->_last_expression/*97*/); return R; } /*No:EIFFEL_PARSER.last_type_formal_generic*/ /*No:EIFFEL_PARSER.em10*/ /*No:EIFFEL_PARSER.em20*/ int r818skip2(T818* C,char a1,char a2){ int R=0; /*IF*/if ((a1)==((((T818*)C))->_cc/*24*/)) { C->_start_line=(((T818*)C))->_line/*16*/; C->_start_column=(((T818*)C))->_column/*12*/; r818next_char(C); /*IF*/if ((a2)==((((T818*)C))->_cc/*24*/)) { R=1; r818next_char(C); r818skip_comments(C); } else { r818prev_char(C); } /*FI*/} /*FI*/return R; } void r818a_r2(T818* C,T0* a1){ T0* _sp=NULL; T0* _infix_xor=NULL; T0* _infix_or=NULL; T0* _infix_or_else=NULL; /*IF*/if (r818a_keyword(C,((T0*)ms41_473))) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_keyword(C,((T0*)ms10_470))) { /*IF*/if (r818a_e2(C)) { {T278*n=malloc(sizeof(*n)); *n=M278; r278make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/); _infix_or_else=(T0*)n; } r818a_r2(C,_infix_or_else); } else { r818err_exp(_sp,((T0*)ms42_473)); } /*FI*/} else { /*IF*/if (r818a_e2(C)) { {T121*n=malloc(sizeof(*n)); *n=M121; r121make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/); _infix_or=(T0*)n; } r818a_r2(C,_infix_or); } else { r818err_exp(_sp,((T0*)ms41_473)); } /*FI*/} /*FI*/} else if (r818a_keyword(C,((T0*)ms50_473))) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_e2(C)) { {T760*n=malloc(sizeof(*n)); *n=M760; r760make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/); _infix_xor=(T0*)n; } r818a_r2(C,_infix_xor); } else { r818err_exp(_sp,((T0*)ms50_473)); } /*FI*/} else { C->_last_expression=a1; } /*FI*/} int r818a_e2(T818* C){ int R=0; R=r818a_e3(C); r818a_r3(C,(((T818*)C))->_last_expression/*97*/); return R; } /*No:EIFFEL_PARSER.em11*/ /*No:EIFFEL_PARSER.fz_expanded*/ void r818a_r3(T818* C,T0* a1){ T0* _sp=NULL; T0* _infix_and=NULL; T0* _infix_and_then=NULL; /*IF*/if (r818a_keyword(C,((T0*)ms27_473))) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_keyword(C,((T0*)ms46_470))) { /*IF*/if (r818a_e3(C)) { {T655*n=malloc(sizeof(*n)); *n=M655; r655make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/); _infix_and_then=(T0*)n; } r818a_r3(C,_infix_and_then); } else { r818err_exp(_sp,((T0*)ms28_473)); } /*FI*/} else { /*IF*/if (r818a_e3(C)) { {T313*n=malloc(sizeof(*n)); *n=M313; r313make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/); _infix_and=(T0*)n; } r818a_r3(C,_infix_and); } else { r818err_exp(_sp,((T0*)ms27_473)); } /*FI*/} /*FI*/} else { C->_last_expression=a1; } /*FI*/} int r818a_e3(T818* C){ int R=0; R=r818a_e4(C); r818a_r4(C,(((T818*)C))->_last_expression/*97*/); return R; } /*No:EIFFEL_PARSER.fz_class*/ /*No:EIFFEL_PARSER.last_base_class*/ /*No:EIFFEL_PARSER.fz_infix*/ /*No:EIFFEL_PARSER.em12*/ T0*oBC818forbidden_class=NULL; /*No:EIFFEL_PARSER.us_lt*/ /*No:EIFFEL_PARSER.us_or*/ void r818a_r4(T818* C,T0* a1){ T0* _sp=NULL; T0* _infix_gt=NULL; T0* _infix_ge=NULL; T0* _infix_lt=NULL; T0* _infix_le=NULL; T0* _infix_neq=NULL; T0* _infix_eq=NULL; /*IF*/if (r818skip1(C,'\75')) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_e4(C)) { {T999*n=malloc(sizeof(*n)); *n=M999; r999make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/); _infix_eq=(T0*)n; } r818a_r4(C,_infix_eq); } else { r818err_exp(_sp,((T0*)ms31_473)); } /*FI*/} else if (r818skip2(C,'\57','\75')) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_e4(C)) { {T517*n=malloc(sizeof(*n)); *n=M517; r517make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/); _infix_neq=(T0*)n; } r818a_r4(C,_infix_neq); } else { r818err_exp(_sp,((T0*)ms39_473)); } /*FI*/} else if (r818skip2(C,'\74','\75')) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_e4(C)) { {T932*n=malloc(sizeof(*n)); *n=M932; r932make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/); _infix_le=(T0*)n; } r818a_r4(C,_infix_le); } else { r818err_exp(_sp,((T0*)ms35_473)); } /*FI*/} else if (r818skip2(C,'\76','\75')) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_e4(C)) { {T890*n=malloc(sizeof(*n)); *n=M890; r890make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/); _infix_ge=(T0*)n; } r818a_r4(C,_infix_ge); } else { r818err_exp(_sp,((T0*)ms32_473)); } /*FI*/} else if (r818skip1(C,'\74')) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_e4(C)) { {T112*n=malloc(sizeof(*n)); *n=M112; r112make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/); _infix_lt=(T0*)n; } r818a_r4(C,_infix_lt); } else { r818err_exp(_sp,((T0*)ms36_473)); } /*FI*/} else if (r818skip1unless2(C,'\76','\76')) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_e4(C)) { {T57*n=malloc(sizeof(*n)); *n=M57; r57make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/); _infix_gt=(T0*)n; } r818a_r4(C,_infix_gt); } else { r818err_exp(_sp,((T0*)ms33_473)); } /*FI*/} else { C->_last_expression=a1; } /*FI*/} int r818a_e4(T818* C){ int R=0; R=r818a_e5(C); r818a_r5(C,(((T818*)C))->_last_expression/*97*/); return R; } /*No:EIFFEL_PARSER.us_any*/ /*No:EIFFEL_PARSER.em13*/ /*No:EIFFEL_PARSER.current_class_name*/ /*No:EIFFEL_PARSER.fz_strip*/ void r390check_creation_clause(T390* C,T0* a1){ T0* _args=NULL; T0* _top=NULL; T0* _bottom=NULL; T0* _fn=NULL; _fn=/*X173*/((T0*)(((T268*)((T268*)((((T390*)C))->_call/*20*/))))->_feature_name/*12*/); /*IF*/if (X291is_like_current(a1)) { _top=r627base_class(((T627*)(X776start_position(_fn)))); _bottom=X291base_class(a1); _fn=r605new_name_of(((T605*)_bottom),_top,_fn); /*IF*/if ((_fn)==((void*)(NULL))) { _fn=/*X173*/((T0*)(((T268*)((T268*)((((T390*)C))->_call/*20*/))))->_feature_name/*12*/); r683add_position(X776start_position(_fn)); /*[IRF3.6append*/{T0* b1=((T0*)ms143_470); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=X776to_string(_fn); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=((T0*)ms1_394); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=X291run_time_mark(a1); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms137_470); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/} /*FI*/C->_run_feature=r355get_feature(((T355*)(X291run_class(a1))),_fn); /*IF*/if (((((T390*)C))->_run_feature/*16*/)==((void*)(NULL))) { r390cp_not_found(C,_fn); } /*FI*//*IF*/if ((((T604*)((T604*)(oBC364small_eiffel))))->_short_flag/*4*/) { } else if (!(X291has_creation(a1,_fn))) { r683add_position(X776start_position(/*X173*/((T0*)(((T268*)((T268*)((((T390*)C))->_call/*20*/))))->_feature_name/*12*/))); r683add_position(X776start_position(_fn)); /*[IRF3.6append*/{T0* b1=X776to_string(_fn); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=((T0*)ms2_394); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683add_type(a1,((T0*)ms67_470)); r683print_as_fatal_error(((T683*)(oBC364eh))); } /*FI*/X496add_client((((T390*)C))->_run_feature/*16*/,r592run_class(((T592*)((((T390*)C))->_run_compound/*4*/)))); /*IF*/if ((/*X496*/((T0*)(((T832*)((T832*)((((T390*)C))->_run_feature/*16*/))))->_result_type/*24*/))!=((void*)(NULL))) { r683add_position(X496start_position((((T390*)C))->_run_feature/*16*/)); r683add_position(X776start_position(_fn)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms3_394); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*//*IF*/if (((r390arg_count(C))==(0))&&((/*X496*/((T0*)(((T832*)((T832*)((((T390*)C))->_run_feature/*16*/))))->_arguments/*20*/))!=((void*)(NULL)))) { r683add_position(X496start_position((((T390*)C))->_run_feature/*16*/)); r683add_position((((T390*)C))->_start_position/*8*/); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms4_394); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*//*IF*/if ((r390arg_count(C))>(0)) { _args=r431to_runnable(((T431*)(X173arguments((((T390*)C))->_call/*20*/))),r390current_type(C)); /*IF*/if ((_args)==((void*)(NULL))) { r390error(r431start_position(((T431*)(X173arguments((((T390*)C))->_call/*20*/)))),((T0*)ms56_470)); } else { r431match_with(((T431*)_args),(((T390*)C))->_run_feature/*16*/); } /*FI*/} /*FI*/C->_call=X173make_runnable((((T390*)C))->_call/*20*/,(((T390*)C))->_run_compound/*4*/,(((T390*)C))->_writable/*12*/,_args,(((T390*)C))->_run_feature/*16*/); } T0* r390add_comment(T390* C,T0* a1){ T0* R=NULL; /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) { R=(T0*)C; } /*AF*/else { {T46*n=malloc(sizeof(*n)); *n=M46; r46make(n,(T0*)C,a1); R=(T0*)n; } } /*FI*/return R; } void r390check_created_type(T390* C,T0* a1){ T0* _rt=NULL; _rt=X291run_type(a1); /*IF*/if ((((T604*)((T604*)(oBC364small_eiffel))))->_short_flag/*4*/) { } else if ((((T605*)((T605*)(X291base_class(_rt)))))->_is_deferred/*16*/) { r683add_type(_rt,((T0*)ms2_747)); r683add_position((((T390*)C))->_start_position/*8*/); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms3_747); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*//*IF*/if (X291is_formal_generic(a1)) { r683add_position((((T390*)C))->_start_position/*8*/); /*[IRF3.6append*/{T0* b1=((T0*)ms4_747); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683add_type(a1,((T0*)ms5_747)); r683print_as_fatal_error(((T683*)(oBC364eh))); } /*FI*/r355set_at_run_time(((T355*)(X291run_class(_rt)))); } void r390cp_not_found(T390* C,T0* a1){ r683add_position(X776start_position(/*X173*/((T0*)(((T268*)((T268*)((((T390*)C))->_call/*20*/))))->_feature_name/*12*/))); r683add_position(X776start_position(a1)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms5_394); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*No:CREATION_CALL_3.writable*/ /*No:CREATION_CALL_3.us_dictionary*/ /*No:CREATION_CALL_3.us_with_capacity*/ /*No:CREATION_CALL_3.fz_bad_arguments*/ /*No:CREATION_CALL_3.us_array*/